
# Preuve de concept en Python pour CVE-2026-31431, exploitant le noyau AF_ALG pour modifier le cache de pages d'un binaire SUID et lancer un shell root sur les systèmes Linux.
PoC Python pour CVE-2026-31431, destiné à des tests de laboratoire contrôlés sur des systèmes Linux autorisés.
À utiliser uniquement dans vos propres environnements, laboratoires ou systèmes pour lesquels vous disposez d'une autorisation explicite. N'exécutez pas ce code contre des systèmes tiers.
copy-fail.py vérifie si algif_aead est disponible via l'interface AF_ALG du noyau et, si le système est compatible avec la technique testée par ce PoC, tente de modifier le cache de pages d'un binaire SUID cible pour lancer un shell PTY interactif.
Le script inclut des payloads pour :
x86_64i686aarch64
AF_ALG et algif_aead./usr/bin/su.Aucune dépendance Python externe n'est requise ; le script n'utilise que des modules de la bibliothèque standard.
Afficher l'aide :
python3 copy-fail.py --help
Exécuter avec la cible par défaut (/usr/bin/su) :
python3 copy-fail.py
Utiliser un autre binaire SUID comme cible :
python3 copy-fail.py --target /usr/bin/newgrp
Exécuter une commande spécifique en tant que root :
python3 copy-fail.py --exec /bin/bash
Désactiver la configuration automatique du terminal :
python3 copy-fail.py --no-setup
Afficher la version du projet :
python3 copy-fail.py --version
Avant d'exécuter le flux principal, le script tente de créer et de lier un socket AF_ALG avec :
authencesn(hmac(sha256),cbc(aes))
Si algif_aead n'est pas disponible, le programme se termine sans continuer.
La suite de tests ne couvre que les chemins CLI inertes tels que --help et --version. Elle n'exécute pas le flux du PoC.
python3 -m unittest discover -s tests
copy-fail.py : implémentation complète du PoC et CLI.tests/test_cli.py : tests sûrs de la CLI.SECURITY.md : politique de sécurité et périmètre de signalement.DISCLAIMER.md : avertissement d'utilisation autorisée.CHANGELOG.md : historique des versions.CONTRIBUTING.md : directives de contribution.LICENSE : licence MIT.Licence MIT — Copyright (c) 2026 Juguitos
| Option | Description |
|---|
-t, --target PATH | Binaire SUID cible. Défaut : /usr/bin/su. |
-e, --exec CMD | Commande à exécuter en tant que root. Doit être fournie avec un chemin complet. |
--no-setup | Désactive la configuration automatique de l'environnement du terminal. |
--version | Affiche la version du projet. |
-h, --help | Affiche l'aide du programme. |