
PoC d'exploits pour CVE-2026-31431, une élévation de privilèges locale (LPE) du noyau Linux via l'écriture dans le cache de pages authencesn, permettant à un utilisateur non privilégié d'obtenir les droits root sur la plupart des distributions depuis 2017.
Copy Fail est un bug logique dans le sous-système crypto du noyau Linux (CVE-2026-31431). Une optimisation de 2017 dans algif_aead.c a accidentellement placé des pages du cache de pages dans un scatterlist inscriptible. L'algorithme AEAD authencesn écrit 4 octets de scratch au-delà de la limite de sortie lors du déchiffrement, ce qui - via le scatterlist en place - atterrit directement dans la copie en cache du noyau de tout fichier qu'un attaquant y insère. Cela donne à un utilisateur local non privilégié une écriture contrôlée de 4 octets dans le cache de pages de tout fichier lisible, ce qui escalade trivialement vers root en corrompant un binaire setuid.
Ce dépôt contient des exploits PoC propres et lisibles en C et Python, vérifiés sur Ubuntu 24.04 LTS (noyau 6.8.0-1012-aws).
$ ./copy_fail
# id
uid=0(root) gid=1000(user) groups=1000(user)
Lisez l'analyse complète et le détail de l'exploit sur zyenra.com
git clone https://github.com/rvizx/CVE-2026-31431.git
cd CVE-2026-31431
python3 copy_fail.py
git clone https://github.com/rvizx/CVE-2026-31431.git
cd CVE-2026-31431
gcc -o copy_fail copy_fail.c
./copy_fail
Pour les tests de sécurité autorisés et la recherche uniquement. Ne l'exécutez pas sur des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite de test. L'exploit modifie le cache de pages d'un binaire setuid - le shell root qui en résulte est réel.
Ravindu Wickramasinghe (@rvz) - Zyenra Security