
CVE-2026-31431-CopyFail---Minified-LPE-PoC
⚠️ Avertissement Pour des fins éducatives et de tests de sécurité autorisés uniquement. Cette preuve de concept (PoC) a été élaborée pour l'émulation d'équipe rouge autorisée et l'audit de vulnérabilités. Les auteurs et contributeurs déclinent toute responsabilité en cas de mauvaise utilisation de ce code. N'utilisez pas cet exploit contre des systèmes que vous ne possédez pas ou pour lesquels vous ne disposez pas d'une autorisation écrite explicite de tester.
📝 Vue d'ensemble CVE-2026-31431 (également connue sous le nom de « Copy Fail ») est une vulnérabilité d'élévation de privilèges locaux (LPE) dans l'API cryptographique (AF_ALG) du noyau Linux. En combinant une socket AF_ALG avec l'appel système splice(), un utilisateur non privilégié peut forcer le noyau à écrire des octets arbitraires directement dans le cache de pages en mémoire d'un fichier en lecture seule. Cette implémentation particulière est hautement minifiée (18 lignes), ce qui la rend idéale pour les opérations d'équipe rouge où un attaquant dispose d'un shell restreint, ne peut pas téléverser de fichiers et doit saisir l'exploit manuellement via le mode interactif de python3.
⚙️ Stratégie d'exploitation Plutôt que de tenter d'injecter un shellcode ELF complexe dans un binaire setuid (ce qui échoue souvent en raison des contraintes de bourrage et d'en-tête), ce script cible /etc/passwd.
🚀 Prérequis Les modules cryptographiques vulnérables doivent être chargés dans le noyau pour que cet exploit fonctionne : sudo modprobe algif_aead authencesn
🎯 Exécution et vérification
🧹 Nettoyage / Remédiation Cet exploit ne modifie que la mémoire volatile du système. Pour rétablir l'état sécurisé du système et restaurer le mappage d'UID correct sans redémarrer, évincez la page corrompue du cache :
echo 3 > /proc/sys/vm/drop_caches