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
cve-2026-31431 — Exploit Linux d’élévation de privilèges locaux pour CVE-2026-31431, fournissant un PoC fiable en un seul passage avec plusieurs implémentations en langages, un scanner de vulnérabilités et un script d’atténuation. | Kitploit
Outils/GitHubGitHub/nisec-eric/cve-2026-31431
Escalade de PrivilègesSécurité des ConteneursFrameworks d'ExploitationAnalyse des VulnérabilitésExploitationTests d'IntrusionSécurité CloudApprentissage et ÉducationRed TeamingExploitation de Binaires
GitHubnisec-eric/cve-2026-31431
2il y a 3 moisPas encore vérifié

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

cve-2026-31431

Exploit Linux d’élévation de privilèges locaux pour CVE-2026-31431, fournissant un PoC fiable en un seul passage avec plusieurs implémentations en langages, un scanner de vulnérabilités et un script d’atténuation.

Voir le dépôt

CVE-2026-31431 — Dépôt de recherche « Copy Fail »

Severity: High CVSS: 7.8 CVE Release License: MIT

Une élévation de privilèges locale Linux fiable à 100 % affectant toutes les distributions grand public depuis 2017.

Un bug logique dans authencesn, enchaîné via AF_ALG et splice() en une écriture de 4 octets dans le cache de pages — exploitable silencieusement pendant près d'une décennie.

⚠️ Avertissement

Tout le code et toute la documentation de ce dépôt sont fournis exclusivement à des fins de recherche en sécurité autorisée et à des fins pédagogiques.

Exécuter du code d'exploitation contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de test est illégal. En utilisant ce dépôt, vous acceptez l'entière responsabilité de vos actions.


Vue d'ensemble

Pourquoi Copy Fail est différent


Structure du dépôt

root@kitploit:~
.
├── README.md                          ← Vous êtes ici
├── LICENSE                            ← MIT
├── .gitignore
├── docs/
│   ├── analysis-report.md             ← Analyse de sécurité complète
│   ├── analysis-report.html           ← Version HTML stylisée
│   ├── exploit-walkthrough.md         ← Analyse du PoC ligne par ligne
│   └── exploit-walkthrough.html       ← Version HTML stylisée
└── poc/
    ├── README.md                      ← Guide d'utilisation du PoC
    ├── copy_fail_exp.py               ← PoC officiel (732 octets, obfusqué)
    ├── copy_fail_exp_readable.py      ← Version désobfusquée + annotée
    ├── copy_fail_exp_compat.py        ← Compatibilité Python 3.6+ (ctypes splice)
    ├── copy_fail_exp_alpine.py        ← Variante Alpine Linux
    ├── copy_fail_exp.c                ← Implémentation C (zéro dépendance)
    ├── copy_fail_exp.go               ← Implémentation Go (zéro dépendance)
    ├── copy_fail_rust/                ← Implémentation Rust
    │   ├── Cargo.toml
    │   └── src/main.rs
    ├── check_vulnerable.py            ← Scanner de vulnérabilité
    └── mitigate.sh                    ← Script d'atténuation en un clic

Démarrage rapide

Télécharger la version précompilée

root@kitploit:~
# Depuis GitHub Releases — binaires précompilés (Linux amd64/arm64) + tous les scripts Python
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-go-linux.tar.gz
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-c-linux.tar.gz
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-python.tar.gz

tar xzf copy-fail-go-linux.tar.gz
tar xzf copy-fail-c-linux.tar.gz
tar xzf copy-fail-python.tar.gz

# Binaire statique Go (pas besoin de Python)
chmod +x copy-fail-exp-amd64
./copy-fail-exp-amd64

# Binaire statique C
chmod +x copy-fail-exp-c-amd64
./copy-fail-exp-c-amd64

# Ou utilisez directement les scripts Python
python3 check_vulnerable.py

📦 Les versions sont automatiquement compilées via GitHub Actions à chaque push de tag v*. Les binaires Go et C sont compilés pour linux/amd64 et linux/arm64 en tant que binaires statiques.

1. Vérifier si votre système est vulnérable

root@kitploit:~
python3 poc/check_vulnerable.py

2. Appliquer l'atténuation (sans redémarrage)

root@kitploit:~
sudo bash poc/mitigate.sh

Cela met sur liste noire le module noyau algif_aead — ne casse rien pour 99 % des systèmes.

3. Corriger correctement — mettre à niveau votre noyau

root@kitploit:~
# Debian/Ubuntu
sudo apt update && sudo apt upgrade linux-image-*

# RHEL/CentOS/Fedora
sudo dnf update kernel

# Redémarrer sur le noyau corrigé
sudo reboot

4. Vérifier

root@kitploit:~
python3 poc/check_vulnerable.py
# Code de sortie 1 = protégé ✓

Exploits PoC

AVERTISSEMENT : À exécuter uniquement sur des systèmes que vous possédez ou pour lesquels vous êtes autorisé à tester.

root@kitploit:~
# C
gcc -static -o exp ./poc/copy_fail_exp.c && ./exp

# Python
python3 poc/copy_fail_exp.py
python3 poc/copy_fail_exp_compat.py        # Python < 3.10

# Go
go build -o exp ./poc/copy_fail_exp.go && ./exp

# Rust
cd poc/copy_fail_rust && cargo run --release

Toutes les versions acceptent un argument optionnel pour cibler un binaire SUID différent :

root@kitploit:~
python3 poc/copy_fail_exp.py /usr/bin/passwd
./exp /usr/bin/sudo

Documentation

📄 Rapport d'analyse de sécurité (HTML)

Évaluation complète de la vulnérabilité couvrant :

  • Cause racine technique (provenance des pages scatterlist, écriture scratch authencesn)
  • Versions affectées et état des correctifs par distribution
  • Remédiation pour Linux sur métal nu, Kubernetes, Docker, WSL2
  • Conseils de détection et de surveillance (auditd, SELinux, intégrité des fichiers)
  • Chronologie de divulgation

📄 Analyse détaillée de l'exploit (HTML)

Analyse du PoC ligne par ligne couvrant :

  • Source complète désobfusquée avec annotations
  • Internes du noyau : flux de socket AF_ALG, livraison splice() dans le cache de pages, mécanique sg_chain()
  • L'écriture scratch ESN authencesn qui franchit les limites des scatterlist
  • Analyse de la charge utile (shellcode ELF de 160 octets)
  • Variantes d'attaque : injection /etc/passwd, ciblage de bibliothèques partagées, évasion de conteneur
  • Limites et frontières de l'attaque

Impact par environnement


Références clés

  • copy.fail — Page officielle de la vulnérabilité
  • Blog Xint — Analyse technique — Plongée dans la cause racine
  • Entrée NVD
  • Avis GitHub GHSA-2274-3hgr-wxv6
  • Correctif du noyau (commit a664bf3d603d)
  • Dépôt PoC officiel
  • Avis Red Hat | Ubuntu | SUSE | Amazon Linux

Contribution

Les contributions sont les bienvenues :

  • Implémentations PoC supplémentaires (Zig, etc.)
  • Résultats de tests spécifiques aux distributions
  • Règles de détection (Snort, Suricata, YARA, Sigma)
  • Traductions de la documentation

Veuillez ouvrir une issue ou une pull request.

Licence

MIT — À utiliser de manière responsable.

Télécharger l’outil
ChampDétail
CVECVE-2026-31431
AliasCopy Fail
TypeÉlévation de privilèges locale du noyau Linux (LPE) / écriture arbitraire dans le cache de pages
CVSS v3.17.8 ÉLEVÉE — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-669 (Transfert incorrect de ressources entre sphères)
Composantcrypto/algif_aead — modèle cryptographique authencesn
Introduit2017 (commit 72548b093ee3)
CorrigéCommit principal a664bf3d603d (2026-04-01)
Noyau corrigév6.18.22+, v6.19.12+, v7.0+
DécouvreurXint / Theori (Taeyang Lee + audit assisté par IA Xint Code)
Divulgation2026-04-29 — copy.fail
LPE Linux typiqueCopy Fail
Condition de courseRequiseAucune
Décalages par distributionRequisAucun
Fiabilité30–80 %100 %, en un seul essai
Fenêtre d'impactÉtroite2017 → 2026 (9 ans)
Modification sur disquePossibleAucune (furtif)
Trans-conteneurNonOui
FichierLangagePrérequisNotes
copy_fail_exp.pyPython 3.10+stdlib uniquementPoC officiel de 732 octets
copy_fail_exp_compat.pyPython 3.6+stdlib + ctypesFonctionne sur CentOS 7, AL2, etc.
copy_fail_exp_alpine.pyPython 3.10+stdlib uniquementCible /bin/ping sur Alpine
copy_fail_exp.cCgcc + en-têtes LinuxBinaire statique, zéro dépendance
copy_fail_exp.goGo 1.21+stdlib uniquementBinaire statique, zéro dépendance
copy_fail_rust/Rust 1.70+crates libc + flate2Binaire statique
EnvironnementRisquePourquoi
Hôtes Linux multi-locataires🔴 ÉlevéTout utilisateur → root
Kubernetes / conteneurs🔴 ÉlevéCache de pages partagé → évasion de conteneur
Runners CI (auto-hébergés)🔴 ÉlevéPR malveillante → root du runner
SaaS cloud (code utilisateur)🔴 ÉlevéLocataire → root de l'hôte
Serveurs standard🟡 MoyenS'enchaîne avec RCE web / identifiants volés
Ordinateurs portables mono-utilisateur🟢 FaibleDéjà le seul utilisateur