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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2023-5178 — Exploit pour CVE-2023-5178 | Kitploit
Outils/GitHubGitHub/rockrid3r/cve-2023-5178
Escalade de PrivilègesCriminalistique MémoireAnalyse des VulnérabilitésExploitationApprentissage et ÉducationExploitation de Binaires
GitHubrockrid3r/cve-2023-5178

CVE-2023-5178

Exploit pour CVE-2023-5178

Voir le dépôt
731il y a 2 ansPas 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-2023-5178

L'exploit pour CVE-2023-5178 : vulnérabilité NVMe-oF-TCP, qui est une erreur logique dans le pilote NVMe-oF-TCP lors du traitement d'une Initialize Connection Request corrompue. Elle conduit à un double-free racé dans kmalloc-96, qui peut être exploité pour obtenir une élévation de privilèges locale (LPE) (voir la démo ci-dessous).

L'exploit cible Ubuntu 23.10 avec le noyau 6.5.0-9-generic (la dernière version de noyau affectée).

  • Il peut être facilement rétroporté vers les noyaux v6 antérieurs en modifiant les symboles du noyau et en ajustant la ropchain.
  • Le rétroportage vers la version v5 du noyau nécessite quelques modifications mineures dont je discuterai dans l'article. L'exploitation sur le noyau v5 est plus facile (j'en parlerai dans l'article) et plus fiable.

Le bug a été découvert par Alon Zahavi. Il a publié une bonne description de la vulnérabilité dans cet article openwall.

DÉMO

Voir la vidéo ici. IMAGE DÉMO 1 ICI IMAGE DÉMO 2 ICI

Prérequis

  • Vous devez avoir les modules nvmet, nvmet-tcp chargés dans le noyau.
  • Assurez-vous d'avoir libfuse3-dev (c'est le cas par défaut sur Ubuntu, mais au cas où). Si vous ne l'avez pas, la meilleure idée est de télécharger et compiler la release depuis github. J'ai utilisé 3.14.0, mais cela devrait fonctionner avec d'autres versions aussi.
  • Actuellement, l'exploit fonctionne uniquement sur les machines avec 1 cœur CPU. Cela concerne uniquement le fonctionnement du SLUB, mais la condition de course rend les choses un peu délicates. Quoi qu'il en soit, je décrirai dans l'article comment l'améliorer pour gérer les machines multi-CPU.

Installation

git clone https://github.com/rockrid3r/CVE-2023-5178
cd CVE-2023-5178
make
./build/xpl # run the exploit
  • Si vous n'avez pas libfuse3-dev, vous devez lier manuellement la libfuse compilée. Voir le Makefile pour savoir comment compiler. Remplacez -lfuse3 par -l:path-to-libfuse.so. N'oubliez pas d'ajouter le chemin des en-têtes avec -I /path/to/libfuse-headers/. Exécutez l'exploit avec :
LD_PRELOAD_PATH=/path/to/libfuse.so ./build/exploit

POC

Pour ceux qui veulent tester si la vulnérabilité est présente sur leurs systèmes, il y a le fichier src/poc.c qui déclenche simplement le bug. Il suppose la configuration standard d'ip/port pour NVMe-oF-TCP sur votre système. Vous devez les ajuster si les vôtres ne sont pas par défaut :

#define NVME_SERVER_IP      "0.0.0.0"   // ip of vulnerable host in LAN (localhost here).
#define NVME_SERVER_PORT    4420        // port on which NVMe-oF-TCP is set up on vulnerable host

Compilez et exécutez-le avec

make build/poc
./build/poc

Vous devriez simplement l'exécuter (peut-être plusieurs fois) puis attendre un peu. Si la vulnérabilité est présente, le système plantera.

Article

Voir l'article complet ici

Télécharger l’outil