
Copy Fail (CVE-2026-31431) é um bug lógico no template criptográfico authencesn do kernel Linux. Ele permite que um usuário local sem privilégios acione uma gravação determinística e controlada de 4 bytes no cache de páginas de qualquer arquivo legível no sistema.
Uma Prova de Conceito (PoC) avançada e byte-perfeita de Escalação de Privilégios Local (LPE) para CVE-2026-31431, explorando uma falha lógica no subsistema de criptografia do kernel Linux (algif_aead).
Este repositório contém uma implementação em C altamente otimizada que sobrescreve de forma confiável a memória do Page Cache somente-leitura manipulando a interface de socket AF_ALG e a chamada de sistema splice().
A vulnerabilidade, apelidada de "Copy Fail", permite que um atacante local sem privilégios force o kernel a escrever saídas de operações criptográficas diretamente nas páginas mapeadas em memória de qualquer arquivo do sistema. Ao mirar em /usr/bin/su, esta PoC alcança uma injeção de memória zero-copy, concedendo um shell root instantâneo sem modificar o binário físico no disco.
Testes extensivos foram conduzidos em várias distribuições Linux modernas para determinar a janela de explorabilidade e observar os comportamentos dos patches.
Em kernels corrigidos (ex.: 6.19.14+ e 7.0.0+), o exploit é executado sem travar ou lançar EINVAL (Falha Silenciosa). O kernel analisa com sucesso os cabeçalhos brutos rtattr do Netlink, mas aplica corretamente as permissões de página VM_MAYWRITE durante a fase de escrita de volta do splice(). Ele aloca silenciosamente um buffer seguro em vez de sobrescrever o Page Cache somente-leitura de /usr/bin/su.
gcc copy_fail_exp.c -o copy_fail_exp
chmod +x copy_fail_exp
./copy_fail_exp
[*] CVE-2026-31431 Research - Ultimate C Implementation
[+] Page Cache completamente sobrescrito.
[+] Detonando binário modificado...
# whoami
root
Este código é liberado estritamente para fins educacionais, de pesquisa defensiva e modelagem de ameaças. Não execute isto em sistemas de produção ou em qualquer ambiente onde você não tenha autorização explícita.
| Sistema Operacional | Versão do Kernel | Vulnerável? | Observação / Causa Raiz |
|---|
| Kali Linux 2026.1 | 6.18.12+kali-amd64 | ✅ Sim | Exploração perfeita. Shell root obtido. |
| Linux Mint 22.3 | 6.14.0-37-generic | ✅ Sim | Exploração perfeita. Shell root obtido. |
| Ubuntu 22.04.5 LTS | 6.8.0-111-generic | ✅ Sim | Exploração perfeita. Shell root obtido. |
| Ubuntu 24.04.4 LTS | 6.8.0-111-generic | ❌ Não | Protocol not available. O SO restringe/desabilita as operações netlink AF_ALG necessárias por padrão. |
| Kali Linux 2026.1 | 6.19.14+kali-amd64 | ❌ Não | Corrigido (Falha Silenciosa). su solicita a senha normalmente. |
| Ubuntu 26.04 LTS | 7.0.0-15-generic | ❌ Não | Corrigido (Falha Silenciosa). su solicita a senha normalmente. |