Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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 — Analyse CVE-2026-31431, une vulnérabilité AF_ALG AEAD du noyau Linux, fournissant un détecteur sûr, un exploit LPE en laboratoire et un laboratoire de noyaux A/B basé sur QEMU pour vérification. | Kitploit
Outils/GitHubGitHub/franklinf25/cve-2026-31431
Frameworks d'ExploitationAnalyse des VulnérabilitésExploitationApprentissage et ÉducationExploitation de BinairesLabs et Pratique
GitHubfranklinf25/cve-2026-31431

cve-2026-31431

Analyse CVE-2026-31431, une vulnérabilité AF_ALG AEAD du noyau Linux, fournissant un détecteur sûr, un exploit LPE en laboratoire et un laboratoire de noyaux A/B basé sur QEMU pour vérification.

Voir le dépôt
9il y a 20 joursPas 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 — Échec de copie algif_aead du noyau Linux : analyse

Recherche en sécurité sur CVE-2026-31431 (CVSS 3.1 7.8 ÉLEVÉ, AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) : trois défauts de conception composables dans la chaîne AEAD d'AF_ALG aboutissent à une écriture déterministe et sans course de 4 octets dans le cache de pages à n'importe quel décalage de n'importe quel fichier lisible — la copie disque reste propre, donc les sommes de contrôle sur disque ne voient rien. L'exploit public (« Copy Fail », Theori/Xint) le transforme en root local (LPE) avec 732 octets de Python ; le bug est resté dans chaque noyau de 2017 à 2026.

  1. 72548b093ee3 (2017) a fait décrypter _aead_recvmsg en place, enchaînant les pages de balises de la requête dans le SGL de destination inscriptible.
  2. splice(fichier → pipe → socket) alimente ces emplacements de balises avec les pages du cache de pages de n'importe quel fichier lisible (zéro copie).
  3. authencesn écrit son espace de travail ESN de 4 octets — la valeur réside dans de la charge utile sendmsg — exactement à , c'est-à-dire le premier octet de balise : le décalage de fichier de votre choix. Cela se déclenche la vérification des balises, donc même une requête effectue l'écriture.
AAD[4..8)
dst[assoclen + cryptlen]
avant
-EBADMSG

Matrice de vérification

AffirmationPreuve
Cause racine dérivée des commits de correctif et des sources du noyau, pas de blogsfinding-sheet
Décodage du PoC public vérifié de bout en bout par rapport à la séquence d'appels systèmefinding-sheet
Noyaux A/B de laboratoire avec delta = exactement le commit de correctif, les deux démarrentlab/scripts/build.sh + lab/out/ab-diffstat.txt
Le noyau vulnérable exécute le décryptage AEAD authencesn via AF_ALG (smoke)lab/scripts/run.sh vuln → SMOKE=ok
Revert sans compagnon panique dans crypto_authenc_esn_decrypt (constatation originale)lab/scripts/run.sh patched → déréférence NULL, reproductible
Détecteur sûr : VULNÉRABLE sur vuln (l'écriture se déclenche malgré EBADMSG, le disque reste PROPRE), NON-DÉTECTÉ sur correctif completpoc/detector.c dans le lab → lignes DETECTOR-RESULT
Clôture LPE en laboratoire : uid 1000 corrige 4 octets du cache de pages d'un binaire SUID et lit le drapeau root-only ; copie disque prouvée intacte via lecture debugfs au niveau blocpoc/lpe.c + lab/rootfs/tools/secretgate.c → LPE-RESULT: ROOT-FLAG-CAPTURED, DISKCLEAN=ok
Reproduire l'écriture publique dans le cache de pages dans un lab épinglé, avec attributionsortie du détecteur ci-dessus + lab README
Stress SGL : 5 formes sur les deux noyaux — aucun crash, aucun blocage du noyau (négatif honnête) + deux bizarreries documentées du contrat AF_ALGpoc/sgl-stress.c dans le lab → lignes SGL-STRESS

Démarrage rapide

root@kitploit:~
# construire les trois noyaux + outils + disque de sonde dans Docker (~15 min au premier lancement)
lab/scripts/build.sh

# démarrer l'oracle A/B/C (QEMU dans Docker, KVM si disponible)
lab/scripts/run.sh vuln         # DETECTOR VULNERABLE + LPE ROOT-FLAG-CAPTURED + DISKCLEAN=ok
lab/scripts/run.sh patchedfull  # DETECTOR NOT-DETECTED + LPE NOT-VULNERABLE
lab/scripts/run.sh patched      # déréférence NULL authencesn (lacune du correctif compagnon)

Ce qui est original ici par rapport aux travaux antérieurs

La chaîne complète d'écriture dans le cache de pages suit l'approche publiée de Theori / Xint Code (« Copy Fail », les rapporteurs crédités) avec attribution — voir la section travaux antérieurs du finding-sheet. Travail original dans ce dépôt : la carte des mécanismes ancrée sur les commits de correctif, la constatation de la série de correctifs incomplète (la panique authencesn de revert sans compagnon et sa fenêtre de version stable), le détecteur différentiel sûr cache-de-pages-vs-disque qui ne touche jamais aux fichiers que nous ne possédons pas, la clôture LPE en laboratoire contre une cible SUID conçue à cet effet (secretgate — aucun binaire du monde réel n'est jamais ciblé), l'exploration des cas limites SGL (résultat négatif honnête plus deux bizarreries documentées du contrat AF_ALG), et l'attribution de branche vérifiée des huit commits de correctif.

Documents

DocCe que c'est
docs/finding-sheet.mdFiche technique d'une page : versions, CVSS, cause racine, commits de correctif, surface d'attaque
docs/report-ptes.mdRapport structuré PTES (7 phases) avec preuves de laboratoire
docs/research-writeup.mdLe récit de l'enquête — méthodologie, impasses, leçons portables, comparaison avec les travaux antérieurs

Structure du dépôt

root@kitploit:~
docs/            fiche technique · rapport PTES · récit de recherche
poc/             detector.c (oracle sûr) · lpe.c (LPE en laboratoire) · sgl-stress.c (exploration SGL)
lab/             laboratoire de noyau QEMU : 5.15.203 ± correctif (A/B) + post-compagnon 5.15.y (C)
lab/rootfs/      secretgate.c — cible SUID conçue à cet effet (la seule chose jamais attaquée)

Références

  • Enregistrement CVE (MITRE) · NVD
  • Theori/Xint — analyse Copy Fail · PoC public
  • Commit d'introduction : 72548b093ee3 « crypto: algif_aead - copy AAD from src to dst » (2017)
  • Correctif principal : a664bf3d603d « crypto: algif_aead - Revert to operating out-of-place » (+ 8 rétroportages stables — voir finding-sheet)

Artéfact de recherche pédagogique. À exécuter uniquement contre des systèmes que vous possédez ou pour lesquels vous êtes explicitement autorisé à tester. La vulnérabilité est corrigée — exécutez un noyau à jour des branches stables 2026 ou ultérieures.

Télécharger l’outil