Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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-32002-poc — Preuve de concept pour CVE-2024-32002: vulnérabilité d'injection de chemin dans les sous-modules Git. | Kitploit
Outils/GitHubGitHub/joaoleonello/cve-2024-32002-poc
Analyse des VulnérabilitésExploitationSécurité WebTests d'IntrusionSécurité de la Chaîne LogistiqueApprentissage et Éducation
GitHubjoaoleonello/cve-2024-32002-poc

cve-2024-32002-poc

Preuve de concept pour CVE-2024-32002: vulnérabilité d'injection de chemin dans les sous-modules Git.

Voir le dépôt
15il y a 11 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-2024-32002 – PoC d'injection de chemin de sous-module Git

Motivation

Pendant la résolution de la machine Compiled de la plateforme Hack The Box, j'ai rencontré un comportement curieux impliquant Git et les sous-modules. En creusant plus profondément, j'ai trouvé cet excellent article du chercheur Amal Murali, qui détaille une technique d'injection de chemin via .gitmodules. À partir de là, j'ai décidé d'étudier le CVE-2024-32002 et de créer une PoC pratique démontrant l'impact réel de la vulnérabilité.

🧠 Aperçu de la vulnérabilité

Le CVE-2024-32002 exploite une faille critique dans Git liée à la résolution des chemins des sous-modules. Git permet aux dépôts d'inclure des sous-modules définis dans le fichier .gitmodules, spécifiant le chemin et l'URL. La vulnérabilité survient lorsque le chemin est manipulé pour pointer vers l'intérieur du répertoire .git, qui stocke les métadonnées et les configurations internes du dépôt.

En combinant :

  • Manipulation du .gitmodules pour définir le chemin comme A/modules/x
  • Création d'un lien symbolique a → .git

…Git est trompé et résout A/modules/x comme .git/modules/x, c'est-à-dire à l'intérieur du répertoire interne .git. Cela permet à un attaquant d'injecter des fichiers arbitraires comme des hooks malveillants qui peuvent être exécutés lors d'opérations légitimes comme checkout, merge ou clone.

Cette vulnérabilité représente un vecteur d'exécution de code à distance, particulièrement dangereux dans les environnements CI/CD, les automatisations ou les dépôts partagés.


⚙️ Ce que le script setup.sh démontre

Ce script automatise la création d'un environnement vulnérable et reproduit l'impact de la faille :

  1. Crée un sous-module malveillant (hook-repo) contenant un hook post-checkout qui écrit dans /tmp/teste.txt
  2. Initialise le dépôt principal (main-repo) et ajoute le sous-module
  3. Modifie le fichier .gitmodules pour rediriger le chemin du sous-module vers A/modules/x
  4. Crée un lien symbolique a → .git, faisant en sorte que A/modules/x soit résolu comme .git/modules/x
  5. Injecte le .gitmodules malveillant dans l'index en utilisant git update-index --index-info
  6. Effectue un commit légitime pour simuler une activité normale
  7. Clone le dépôt (cloned-repo) avec --recursive, initialisant le sous-module
  8. Copie le hook malveillant dans .git/hooks/ et exécute git checkout HEAD pour déclencher l'exploit

En cas de succès, le hook est exécuté et le fichier /tmp/teste.txt est créé avec le contenu :

joao was here

🐳 Environnement Docker

Ce dépôt inclut un Dockerfile qui :

  1. **Installe Git 2.45.0 (version vulnérable)
  2. **Crée un utilisateur normal (joao)
  3. **Copie les fichiers de la PoC
  4. **Exécute automatiquement le setup.sh

🔧 Comment reproduire

docker build -t git-cve-poc .
docker run --rm -it git-cve-poc

🔐 Impact et mitigation

Cette vulnérabilité affecte les versions de Git antérieures à 2.45.1. La faille a été corrigée avec des validations plus strictes dans la résolution des chemins des sous-modules. Les dépôts qui utilisent des sous-modules doivent être audités, et les environnements automatisés doivent être mis à jour immédiatement.

⚠️ Avis légal

Ce projet est uniquement à des fins éducatives et de recherche. Ne l'utilisez pas dans des environnements de production. L'objectif est de démontrer l'impact technique de la vulnérabilité et de promouvoir les bonnes pratiques de sécurité.

Télécharger l’outil