
Python proof-of-concept para CVE-2026-31431, explorando o AF_ALG do kernel para modificar o cache de páginas de binários SUID e obter um shell root em sistemas Linux.
PoC em Python para CVE-2026-31431, destinado a testes controlados de laboratório em sistemas Linux autorizados.
Use apenas em seus próprios ambientes, laboratórios ou sistemas onde você tenha permissão explícita. Não execute este código contra sistemas de terceiros.
copy-fail.py verifica se algif_aead está disponível por meio da interface AF_ALG do kernel e, se o sistema for compatível com a técnica testada por este PoC, tenta modificar o page cache de um binário SUID alvo para lançar um shell PTY interativo.
O script inclui payloads para:
x86_64i686aarch64
AF_ALG e algif_aead./usr/bin/su.Nenhuma dependência externa de Python é necessária; o script usa apenas módulos da biblioteca padrão.
Mostrar ajuda:
python3 copy-fail.py --help
Executar com o alvo padrão (/usr/bin/su):
python3 copy-fail.py
Usar outro binário SUID como alvo:
python3 copy-fail.py --target /usr/bin/newgrp
Executar um comando específico como root:
python3 copy-fail.py --exec /bin/bash
Desabilitar a configuração automática do terminal:
python3 copy-fail.py --no-setup
Mostrar a versão do projeto:
python3 copy-fail.py --version
Antes de executar o fluxo principal, o script tenta criar e vincular um socket AF_ALG com:
authencesn(hmac(sha256),cbc(aes))
Se algif_aead não estiver disponível, o programa encerra sem continuar.
A suíte de testes cobre apenas caminhos inertes de CLI, como --help e --version. Ela não executa o fluxo do PoC.
python3 -m unittest discover -s tests
copy-fail.py: implementação completa do PoC e CLI.tests/test_cli.py: testes de fumaça seguros da CLI.SECURITY.md: política de segurança e escopo de relatórios.DISCLAIMER.md: aviso de uso autorizado.CHANGELOG.md: histórico de versões.CONTRIBUTING.md: diretrizes de contribuição.LICENSE: licença MIT.Licença MIT — Copyright (c) 2026 Juguitos
PoC en Python para CVE-2026-31431, orientado a pruebas controladas de laboratorio en sistemas Linux autorizados.
Uso exclusivo en entornos propios, de laboratorio o con permiso explícito. No ejecutes este código contra sistemas de terceros.
copy-fail.py verifica la disponibilidad de algif_aead mediante la interfaz AF_ALG del kernel y, si el sistema es compatible con la técnica probada por el PoC, intenta modificar la page cache de un binario SUID objetivo para lanzar una shell con PTY interactiva.
El script incluye payloads para:
x86_64i686aarch64
AF_ALG y algif_aead./usr/bin/su.No requiere dependencias externas de Python; usa módulos de la biblioteca estándar.
Mostrar ayuda:
python3 copy-fail.py --help
Ejecutar con el objetivo por defecto (/usr/bin/su):
python3 copy-fail.py
Usar otro binario SUID como objetivo:
python3 copy-fail.py --target /usr/bin/newgrp
Ejecutar un comando específico como root:
python3 copy-fail.py --exec /bin/bash
Deshabilitar la configuración automática de terminal:
python3 copy-fail.py --no-setup
Mostrar la versión del proyecto:
python3 copy-fail.py --version
Antes de ejecutar el flujo principal, el script intenta crear y enlazar un socket AF_ALG con:
authencesn(hmac(sha256),cbc(aes))
Si algif_aead no está disponible, el programa termina sin continuar.
La suite de pruebas solo cubre rutas inertes de CLI como --help y --version. No ejecuta el flujo del PoC.
python3 -m unittest discover -s tests
copy-fail.py: implementación completa del PoC y CLI.tests/test_cli.py: pruebas seguras de la CLI.SECURITY.md: política de seguridad y alcance de reportes.DISCLAIMER.md: aviso de uso autorizado.CHANGELOG.md: historial de cambios.CONTRIBUTING.md: guía de contribución.LICENSE: licencia MIT.Licencia MIT — Copyright (c) 2026 Juguitos
| Opção | Descrição |
|---|
-t, --target PATH | Binário SUID alvo. Padrão: /usr/bin/su. |
-e, --exec CMD | Comando a ser executado como root. Deve ser fornecido como caminho completo. |
--no-setup | Desabilita a configuração automática do ambiente de terminal. |
--version | Mostra a versão do projeto. |
-h, --help | Mostra a ajuda do programa. |
| Opción | Descripción |
|---|
-t, --target PATH | Binario SUID objetivo. Default: /usr/bin/su. |
-e, --exec CMD | Comando a ejecutar como root. Debe indicarse con ruta completa. |
--no-setup | Deshabilita la configuración automática del entorno de terminal. |
--version | Muestra la versión del proyecto. |
-h, --help | Muestra la ayuda del programa. |