
Preuve de concept d'exploitation pour CVE-2026-31431, une élévation de privilèges locale sous Linux via un bug de logique authencesn, avec variante ARM64 pour validation en laboratoire autorisée.
Copy Fail est une élévation de privilèges locale sous Linux publiée par Theori/Xint sous la référence
CVE-2026-31431. La page du projet décrit un bug logique dans
authescesn qui peut être atteint via AF_ALG et splice(), produisant une
petite écriture dans le cache de pages contre un binaire setuid. Sur les systèmes affectés, un
utilisateur local non privilégié peut devenir root.
Ce dépôt conserve une copie du proof of concept en amont et ajoute une variante ARM64 testée sur Ubuntu 25.10 ARM.

| Fichier | Objectif |
|---|---|
copy_fail_exp.py | PoC amont d'origine, avec son URL source indiquée dans l'en-tête du fichier. |
copy_fail_exp_arm64.py | PoC adapté pour ARM64, testé et fonctionnel sur Ubuntu 25.10 ARM. |
Ces scripts sont destinés uniquement à une validation autorisée dans des systèmes de laboratoire jetables. Ils
ne sont pas des scanners de vulnérabilités génériques. Ils tentent le chemin d'exploitation Copy Fail
contre /usr/bin/su ; si l'hôte est vulnérable et que l'environnement est
compatible, le résultat est un véritable shell root.
⚡ Utilisez le PoC d'origine pour valider le chemin d'exploitation public sur les systèmes Linux compatibles. Utilisez la variante ARM64 pour tester les hôtes Linux basés sur ARM où la charge utile intégrée diffère du script amont.
Un échec d'exécution ne prouve pas qu'un hôte est corrigé. La version du noyau, les backports de la distribution, l'architecture, le durcissement local, la politique de conteneur et l'environnement d'exécution peuvent tous affecter le comportement.
Appliquez le correctif en premier. Selon copy.fail, les systèmes doivent être mis à jour
vers un noyau de distribution qui inclut le commit mainline a664bf3d603d, puis
redémarrer sur ce noyau et vérifier la version en cours d'exécution.
En attendant que le noyau puisse être corrigé, désactivez le module algif_aead :
sudo sh -c 'printf "%s\n" "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf'
sudo rmmod algif_aead 2>/dev/null || true
Pour les charges de travail non fiables telles que les conteneurs, les runners CI, les sandbox et les hôtes
de développement partagés, bloquez également la création de sockets AF_ALG avec une politique seccomp.
Les recommandations d'atténuation de copy.fail indiquent que la désactivation de algif_aead ne devrait
pas affecter l'utilisation cryptographique typique de dm-crypt/LUKS, kTLS, IPsec/XFRM, OpenSSL/GnuTLS/NSS, SSH ou
du trousseau de clés du noyau. Cela peut affecter les logiciels explicitement configurés pour utiliser
les sockets AF_ALG.