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 — Preuve de concept en Rust pour une vulnérabilité locale d'élévation de privilèges dans le noyau Linux, exploitant l'API Crypto et splice pour écraser le cache de pages et modifier l'UID de /etc/passwd afin d'obtenir les droits root. | Kitploit
Outils/GitHubGitHub/g01d3nw01f/cve-2026-31431
Escalade de PrivilègesFrameworks d'ExploitationExploitationExploitation de Binaires
GitHubg01d3nw01f/cve-2026-31431

CVE-2026-31431

Preuve de concept en Rust pour une vulnérabilité locale d'élévation de privilèges dans le noyau Linux, exploitant l'API Crypto et splice pour écraser le cache de pages et modifier l'UID de /etc/passwd afin d'obtenir les droits root.

Voir le dépôt
4il y a 4 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

PoC LPE CVE-2026-31431 (Implémentation en Rust)

Ce projet est une preuve de concept (PoC) implémentée en Rust pour une vulnérabilité d'élévation de privilèges locale (LPE) (simulant la CVE-2026-31431). Il démontre comment manipuler le cache de pages du noyau Linux en exploitant l'API Crypto.[cite: 1, 2]

[!CAUTION] Ce code est destiné uniquement à la recherche en sécurité éthique et à des fins éducatives. Toute utilisation non autorisée de cet outil contre des systèmes sans consentement préalable explicite est illégale. L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages causés par ce programme.

Aperçu

L'outil exploite une vulnérabilité liée à AF_ALG (interface crypto du noyau) et à l'appel système splice.[cite: 2] Il permet à un utilisateur non privilégié d'écraser 4 octets du cache de pages d'un fichier en lecture seule—en ciblant spécifiquement le champ UID dans /etc/passwd pour le modifier temporairement en 0000 (root).[cite: 1, 2]

Fonctionnement

  • Identification de la cible : Le programme analyse main.rs pour trouver le décalage exact du fichier correspondant à l'UID de l'utilisateur actuel dans /etc/passwd.[cite: 1, 2]
  • Préchauffage du cache de pages : Il lit le fichier cible pour s'assurer que la page concernée est chargée dans le cache de pages du noyau.[cite: 2]
  • Manipulation de la mémoire :
    • Il initialise une socket utilisant AF_ALG avec l'algorithme authencesn(hmac(sha256),cbc(aes)).[cite: 2]
    • En configurant soigneusement les paramètres de setsockopt et en utilisant splice, il redirige les données du fichier à travers le pipeline crypto.[cite: 2]
    • La vulnérabilité permet au processus de « déchiffrement » d'écraser les données originales du cache de pages avec les 4 octets souhaités (0000).[cite: 2]
  • Élévation de privilèges :
    • Si l'option --shell est fournie, il exécute su <user>, ce qui réussit car le système voit désormais l'UID de l'utilisateur comme 0 dans le /etc/passwd mis en cache.[cite: 1]
    • Sinon, il évince le cache de pages corrompu en utilisant POSIX_FADV_DONTNEED pour restaurer l'intégrité du système.[cite: 1]

Prérequis

  • Système d'exploitation : Linux (spécifiquement les versions vulnérables à ce comportement de l'API Crypto).
  • Langage : Rust (édition 2024).[cite: 3]
  • Dépendances : libc et nix (avec les fonctionnalités fs, socket, zerocopy et user).[cite: 3]

Utilisation

Compilation

root@kitploit:~
cargo build --release

Exécution

Tester le correctif du cache de pages sans lancer de shell :

root@kitploit:~
./target/release/cve-2026-31431

Tenter d'élever les privilèges vers un shell root :

root@kitploit:~
./target/release/cve-2026-31431 --shell

Structure du projet

  • main.rs : Orchestre l'attaque, gère les arguments de la ligne de commande et exécute la commande shell finale.[cite: 1]
  • modules.rs : Contient la logique d'exploitation principale, y compris la manipulation de la socket AF_ALG et la recherche du décalage de l'UID.[cite: 2]
  • Cargo.toml : Définit les métadonnées du projet et les dépendances de crates externes.[cite: 3]

Références techniques

  • Fichiers impliqués : main.rs, modules.rs, Cargo.toml[cite: 1, 2, 3]
  • Appels système clés : socket, bind, sendmsg, splice, posix_fadvise.[cite: 1, 2]
Télécharger l’outil