
Prova de conceito de exploit para CVE-2026-31431, uma escalada local de privilégios no Linux por meio de uma falha lógica em authencesn, com variante ARM64 para validação autorizada em laboratório.
Copy Fail é uma escalada de privilégios local no Linux publicada pela Theori/Xint como
CVE-2026-31431. A página do projeto descreve um bug lógico em
authescesn que pode ser alcançado através de AF_ALG e splice(), produzindo uma
pequena escrita no cache de páginas contra um binário setuid. Em sistemas afetados, um
usuário local sem privilégios pode se tornar root.
Este repositório mantém uma cópia do proof of concept upstream e adiciona uma variante ARM64 testada no Ubuntu 25.10 ARM.

| Arquivo | Finalidade |
|---|---|
copy_fail_exp.py | PoC upstream original, com sua URL de origem anotada no cabeçalho do arquivo. |
copy_fail_exp_arm64.py | PoC adaptado para ARM64, testado e funcionando no Ubuntu 25.10 ARM. |
Estes scripts são apenas para validação autorizada em sistemas de laboratório descartáveis. Eles
não são scanners de vulnerabilidade genéricos. Eles tentam o caminho de exploração do Copy Fail
contra /usr/bin/su; se o host for vulnerável e o ambiente for
compatível, o resultado é um shell root real.
⚡ Use o PoC original para validar o caminho de exploração público em sistemas Linux compatíveis. Use a variante ARM64 para testar hosts Linux baseados em ARM onde o payload embutido difere do script upstream.
Uma execução com falha não prova que um host está corrigido. A versão do kernel, backports da distribuição, arquitetura, endurecimento local, política de contêiner e ambiente de execução podem afetar o comportamento.
Corrija primeiro. De acordo com copy.fail, os sistemas devem atualizar
para um kernel de distribuição que inclua o commit mainline a664bf3d603d, e então
reiniciar nesse kernel e verificar a versão em execução.
Até que o kernel possa ser corrigido, desative o módulo algif_aead:
sudo sh -c 'printf "%s\n" "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf'
sudo rmmod algif_aead 2>/dev/null || true
Para cargas de trabalho não confiáveis, como contêineres, runners de CI, sandboxes e hosts
de desenvolvedores compartilhados, também bloqueie a criação de sockets AF_ALG com política seccomp.
A orientação de mitigação do copy.fail observa que desativar algif_aead não deve
afetar o uso típico de criptografia dm-crypt/LUKS, kTLS, IPsec/XFRM, OpenSSL/GnuTLS/NSS, SSH ou
keyring do kernel. Pode afetar software explicitamente configurado para usar sockets AF_ALG.