
Script Python para verificar se um sistema Linux é vulnerável à falha CVE-2026-31431 (Copy Fail), uma elevação de privilégios local no kernel Linux.
Script Python para verificar se um sistema Linux é vulnerável à falha CVE-2026-31431 (Copy Fail), uma elevação de privilégios local no kernel Linux.
Desde 2017 (commit 72548b093ee3), o módulo criptográfico algif_aead do kernel gerencia as operações in-place de forma incorreta. Através de splice(), um usuário não privilegiado pode corromper o page cache de um binário setuid e obter direitos de root sem tocar no disco.
| # | Verificação |
|---|---|
| 1 | Versão do kernel (faixa vulnerável) |
| 2 | Módulo algif_aead carregado ou carregável |
| 3 | Socket AF_ALG SOCK_SEQPACKET acessível sem privilégios |
| 4 | os.splice() disponível (exploit Python direto) |
| 5 | Binários setuid legíveis por todos (sudo, passwd...) |
| 6 | Proteções ativas (SELinux, AppArmor, blacklist modprobe) |
python3 check_cve_2026_31431.py
Nenhuma dependência externa. Funciona sem root.
Este script apenas analisa o sistema. Ele não explora a falha, não carrega nenhum módulo e não escreve nada no disco.
echo 'install algif_aead /bin/false' | sudo tee /etc/modprobe.d/algif_aead-block.conf
Este contorno não funciona nas distribuições RHEL (módulo integrado ao kernel).