Segura essa: uma falha silenciosa, que estava escondida no coração do Linux por anos, acaba de ser revelada e está botando milhões de servidores em risco.

Pesquisadores de segurança da Qualys desvendaram um conjunto de nove vulnerabilidades críticas no AppArmor, o módulo de proteção nativo do Linux. Batizado de 'CrackArmor', o problema existe desde 2017 e afeta mais de 12,6 milhões de servidores empresariais ativos globalmente.

Quando a Proteção Vira Porta Aberta: O Risco do CrackArmor

Imagina só: o AppArmor, que deveria ser o escudo do seu sistema Linux, na verdade, tinha uma brecha enorme. Essa falha permite que um invasor, mesmo sem a senha de administrador, consiga acesso total e faça um estrago gigantesco.

Pense em infraestruturas corporativas, plataformas de nuvem que você usa todo dia e até aqueles dispositivos IoT inteligentes. Todos eles estão na mira, vulneráveis a ataques que podem derrubar serviços ou roubar dados críticos.

A coisa é séria porque o AppArmor vem ativado por padrão em distribuições populares como Ubuntu, Debian e SUSE. Ou seja, a exposição é massiva e afeta uma galera que nem imagina que está em risco.

Não é o conceito do AppArmor que está errado, mas sim a forma como o código foi implementado lá no kernel. É tipo ter uma porta supersegura, mas com a fechadura instalada de um jeito que qualquer um com uma chave de fenda consegue abrir.

Desvendando o 'Confused Deputy': Como o CrackArmor Ataca o Kernel

O ataque do CrackArmor é um clássico "confused deputy", ou "subordinado confuso", em bom português. É como se o AppArmor, o gerente do prédio, fosse enganado para abrir cofres que o invasor jamais conseguiria acessar sozinho.

Para começar a festa, o atacante só precisa de uma conta local comum. A partir daí, ele manipula uns pseudo-arquivos especiais que ficam escondidos no diretório /sys/kernel/security/apparmor/ dentro do kernel.

É por meio desses arquivos que o invasor consegue carregar, substituir ou até remover perfis de segurança sem nenhuma autorização. Isso abre um leque de possibilidades para bagunçar o sistema.

Escalada de Privilégios: De Usuário Comum a Dono do Sistema

No nível do espaço de usuário, a jogada é inteligente. O invasor carrega um perfil que bloqueia uma capacidade específica do comando sudo, que é o "superpoder" do Linux.

Em seguida, ele manipula uma variável de ambiente chamada MAIL_CONFIG. Isso faz com que o sudo envie um e-mail como root usando o Postfix, e o resultado? Um shell com privilégios totais nas mãos do atacante.

Mas a coisa fica ainda mais sinistra no nível do kernel. Uma falha do tipo "use-after-free" no componente aa_loaddata permite realocar uma página de memória que já deveria estar livre.

Essa página pode ser usada para sobrescrever diretamente o arquivo /etc/passwd, onde o Linux guarda as senhas de todos os usuários. O invasor reescreve a senha do root, usa o comando su e pronto: controle total do sistema.

Além do Acesso: Derrubando e Bloqueando Tudo

A escalada de privilégios é só o começo. O CrackArmor também pode travar o sistema inteiro. Perfis com subperfis muito profundos fazem o kernel entrar em um loop recursivo durante a remoção.

Esse processo esgota a pilha do kernel, que em sistemas x86-64 tem cerca de 16 KB. O esgotamento causa um "kernel panic", que é basicamente a tela azul do Linux, e uma reinicialização forçada.

Apenas uma hierarquia de 1024 subperfis já é suficiente para derrubar o sistema. É como um efeito dominó digital, onde uma pequena ação causa um colapso total.

E tem mais: o atacante pode bloquear serviços críticos. Carregar um perfil de "negar tudo" contra o SSH, por exemplo, impede qualquer acesso remoto legítimo. Adeus, acesso remoto!

Remover perfis de serviços como rsyslogd ou cupsd também elimina proteções importantes contra atacantes externos, deixando a porta ainda mais escancarada.

Vazamento de Memória e Fuga de Contêineres

Há ainda a possibilidade de vazar endereços da memória do kernel, o que quebra uma proteção importante chamada KASLR. Isso abre caminho para ataques remotos ainda mais sofisticados e difíceis de detectar.

Por fim, o invasor pode escapar de contêineres. Ao carregar um perfil específico para o binário /usr/bin/time, usuários sem privilégios conseguem criar namespaces de usuário com capacidades completas.

Isso contorna diretamente as restrições que o Ubuntu aplica para limitar o uso de namespaces, transformando um ambiente isolado em uma porta de saída para o sistema principal.

As correções para o CrackArmor estão sendo implementadas para proteger os sistemas Linux afetados.