
Prova de conceito de exploit para o CVE-2026-31431 (Copy Fail) do kernel Linux, que abusa do AF_ALG para corromper binários setuid-root no cache de páginas, alcançando escalonamento de privilégios. Inclui backup/restauração e verificação de integridade.
Uma reprodução de exploit proof-of-concept da vulnerabilidade do kernel Linux CVE-2026-31431, também conhecida como Copy Fail.
Créditos para: Copy Fail
/usr/bin/su)git clone https://github.com/MohamedKarrab/Copy-Fail-CVE-2026-31431.git
cd Copy-Fail-CVE-2026-31431
# targets /usr/bin/su by default
python fail.py
# or any setuid-root (passwd, mount, chsh, sudo, pkexec...)
python fail.py /usr/bin/passwd
Em caso de falha na exploração, o binário alvo pode não ser restaurado ao seu estado original. Corrija isso:
Simplesmente reinicie o dispositivo. Uma reinicialização limpa o cache de páginas (o exploit não modifica o binário no disco).
Alternativamente, restaure um /usr/bin/su limpo (ou o binário selecionado) a partir de um pacote confiável.
Debian / Ubuntu:
sudo apt-get install --reinstall util-linux
Fedora / RHEL:
sudo dnf reinstall util-linux
Arch:
sudo pacman -S util-linux
Este exploit abusa de uma implementação AF_ALG AEAD para escrever blocos arbitrários de 4 bytes no cache de páginas do kernel de /usr/bin/su (um binário setuid-root).
sendmsg/splice manipulados para injetar dados no processamento AES-CBC-HMAC.text em memória de /usr/bin/su sem tocar no discoFinalmente, executar /usr/bin/su carrega o cache de páginas envenenado, executando código injetado como root devido ao setuid.
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/null