
Preuve de concept d'exploitation pour la CVE-2026-31431 du noyau Linux (Copy Fail) qui abuse d'AF_ALG pour corrompre les binaires setuid-root dans le cache de pages, permettant une élévation de privilèges. Inclut la sauvegarde/restauration et la vérification d'intégrité.
Une reproduction d'exploit proof-of-concept de la vulnérabilité du noyau Linux CVE-2026-31431, également connue sous le nom de Copy Fail.
Crédits à : Copy Fail
/usr/bin/su)git clone https://github.com/MohamedKarrab/Copy-Fail-CVE-2026-31431.git
cd Copy-Fail-CVE-2026-31431
# cible /usr/bin/su par défaut
python fail.py
# ou tout binaire setuid-root (passwd, mount, chsh, sudo, pkexec...)
python fail.py /usr/bin/passwd
En cas d'échec de l'exploitation, le binaire cible peut ne pas être restauré à son état d'origine. Pour y remédier :
Redémarrez simplement l'appareil. Un redémarrage vide le cache de pages (l'exploit ne modifie pas le binaire sur le disque).
Sinon, restaurez un /usr/bin/su propre (ou le binaire sélectionné) depuis un paquet de confiance.
Debian / Ubuntu :
sudo apt-get install --reinstall util-linux
Fedora / RHEL :
sudo dnf reinstall util-linux
Arch :
sudo pacman -S util-linux
Cet exploit abuse d'une implémentation AEAD AF_ALG pour écrire des blocs arbitraires de 4 octets dans le cache de pages du noyau de /usr/bin/su (un binaire setuid-root).
sendmsg/splice conçues pour injecter des données dans le traitement AES-CBC-HMAC.text en mémoire de /usr/bin/su sans toucher au disqueEnfin, l'exécution de /usr/bin/su charge le cache de pages empoisonné, exécutant le code injecté en tant que root grâce à setuid.
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/null