
Implémentation en C d'une preuve de concept pour CVE-2026-31431, une vulnérabilité d'empoisonnement du cache de pages AF_ALG du noyau Linux qui permet une élévation de privilèges locale et une éventuelle évasion de conteneur via la pollution de fichiers SUID.
PoC réécrit en C pour CVE-2026-31431, exploitable sur des environnements cibles sans Python.
Type de vulnérabilité : empoisonnement du cache de pages du sous-système AF_ALG du noyau Linux, permettant une élévation de privilèges locale et une éventuelle évasion de conteneur en corrompant le contenu de fichiers SUID.
Versions du noyau concernées : Linux kernel 5.15 ~ 6.1.x (certaines versions inférieures ou supérieures peuvent également être affectées, selon les options de compilation liées à AF_ALG).
Conditions d'exploitation :
Le noyau est compilé avec CONFIG_CRYPTO_USER_API_AEAD et prend en charge les algorithmes AEAD (tels que authenc(hmac(sha256),cbc(aes))), ou le module correspondant est chargé.
L'attaquant dispose d'un compte local à faibles privilèges et peut exécuter du code arbitraire (par exemple, téléverser un ELF compilé statiquement).
Le système de fichiers cible prend en charge l'appel système splice.
Vous pouvez directement téléverser le fichier copy_fail sur la machine cible et l'exécuter, ou choisir de compiler vous-même le fichier copy_fail.c.
Compilation statique recommandée (pour éviter les dépendances à glibc) : gcc -static -o copy_fail copy_fail.c
./copy_fail
Ce code est une réécriture du PoC Python officiel.
Ce code est destiné uniquement à la recherche en sécurité, à l'éducation et aux tests autorisés légalement. Toute utilisation à des fins d'attaque illégale est strictement interdite. L'utilisateur assume seul l'entière responsabilité légale.