
Proof-of-concept in Python per CVE-2026-31431, che sfrutta il kernel AF_ALG per modificare la cache delle pagine dei binari SUID e generare una shell di root sui sistemi Linux.
PoC in Python per CVE-2026-31431, pensato per test di laboratorio controllati su sistemi Linux autorizzati.
Da utilizzare solo in ambienti propri, laboratori o sistemi per cui si dispone di autorizzazione esplicita. Non eseguire questo codice contro sistemi di terze parti.
copy-fail.py verifica la disponibilità di algif_aead tramite l'interfaccia AF_ALG del kernel e, se il sistema è compatibile con la tecnica testata da questo PoC, tenta di modificare la page cache di un binario SUID di destinazione per avviare una shell PTY interattiva.
Lo script include payload per:
x86_64i686aarch64
AF_ALG e algif_aead./usr/bin/su.Non sono richieste dipendenze Python esterne; lo script utilizza solo moduli della libreria standard.
Mostra l'aiuto:
python3 copy-fail.py --help
Esegui con la destinazione predefinita (/usr/bin/su):
python3 copy-fail.py
Usa un altro binario SUID come destinazione:
python3 copy-fail.py --target /usr/bin/newgrp
Esegui un comando specifico come root:
python3 copy-fail.py --exec /bin/bash
Disabilita la configurazione automatica del terminale:
python3 copy-fail.py --no-setup
Mostra la versione del progetto:
python3 copy-fail.py --version
Prima di eseguire il flusso principale, lo script tenta di creare e associare un socket AF_ALG con:
authencesn(hmac(sha256),cbc(aes))
Se algif_aead non è disponibile, il programma termina senza continuare.
La suite di test copre solo percorsi CLI inerti come --help e --version. Non esegue il flusso del PoC.
python3 -m unittest discover -s tests
copy-fail.py: implementazione completa del PoC e CLI.tests/test_cli.py: test sicuri di fumo della CLI.SECURITY.md: policy di sicurezza e ambito di segnalazione.DISCLAIMER.md: disclaimer per l'uso autorizzato.CHANGELOG.md: cronologia delle release.CONTRIBUTING.md: linee guida per i contributi.LICENSE: licenza MIT.Licenza 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
| Opzione | Descrizione |
|---|
-t, --target PATH | Binario SUID di destinazione. Predefinito: /usr/bin/su. |
-e, --exec CMD | Comando da eseguire come root. Deve essere fornito come percorso completo. |
--no-setup | Disabilita la configurazione automatica dell'ambiente del terminale. |
--version | Mostra la versione del progetto. |
-h, --help | Mostra l'aiuto del programma. |
| 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. |