Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cve-2024-32002-poc — Proof of Concept für CVE-2024-32002: Git submodule path injection vulnerability. | Kitploit
Tools/GitHubGitHub/joaoleonello/cve-2024-32002-poc
SchwachstellenanalyseExploitationWebsicherheitPenetrationstestsLieferkettensicherheitLernen & Bildung
GitHubjoaoleonello/cve-2024-32002-poc

cve-2024-32002-poc

Proof of Concept für CVE-2024-32002: Git submodule path injection vulnerability.

Repository anzeigen
vor 10 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

💥 CVE-2024-32002 – Git Submodule Path Injection PoC

Motivation

Während der Lösung der Maschine Compiled der Plattform Hack The Box bin ich auf ein merkwürdiges Verhalten im Zusammenhang mit Git und Submodulen gestoßen. Bei der tiefergehenden Untersuchung fand ich diesen exzellenten Beitrag des Forschers Amal Murali, der eine Technik zur Pfad-Injektion über .gitmodules beschreibt. Daraufhin entschloss ich mich, CVE-2024-32002 zu studieren und einen praktischen PoC zu erstellen, der die tatsächlichen Auswirkungen der Schwachstelle demonstriert.

🧠 Überblick über die Schwachstelle

CVE-2024-32002 nutzt einen kritischen Fehler in Git im Zusammenhang mit der Auflösung von Submodul-Pfaden aus. Git erlaubt es Repositorys, Submodule aufzunehmen, die in der Datei .gitmodules definiert sind, mit Angabe von Pfad und URL. Die Schwachstelle entsteht, wenn der Pfad so manipuliert wird, dass er auf das Verzeichnis .git zeigt, das Metadaten und interne Konfigurationen des Repositorys speichert.

Durch die Kombination von:

  • Manipulation des .gitmodules, um den Pfad auf A/modules/x zu setzen
  • Erstellung eines symbolischen Links a → .git

…wird Git getäuscht und löst A/modules/x als .git/modules/x auf, also innerhalb des internen .git-Verzeichnisses. Dadurch kann ein Angreifer beliebige Dateien wie schädliche Hooks injizieren, die bei legitimen Operationen wie checkout, merge oder clone ausgeführt werden können.

Diese Schwachstelle stellt einen Vektor für Remote-Code-Ausführung dar, der besonders gefährlich in CI/CD-Umgebungen, Automatisierungen oder gemeinsamen Repositorys ist.


⚙️ Was das Skript setup.sh demonstriert

Dieses Skript automatisiert die Erstellung einer verwundbaren Umgebung und reproduziert die Auswirkungen des Fehlers:

  1. Erstellt ein bösartiges Submodul (hook-repo), das einen post-checkout-Hook enthält, der in /tmp/teste.txt schreibt
  2. Initialisiert das Haupt-Repository (main-repo) und fügt das Submodul hinzu
  3. Ändert die Datei .gitmodules, um den Pfad des Submoduls auf A/modules/x umzuleiten
  4. Erstellt einen symbolischen Link a → .git, sodass A/modules/x als .git/modules/x aufgelöst wird
  5. Fügt das bösartige .gitmodules in den Index ein, mit git update-index --index-info
  6. Führt einen legitimen Commit durch, um normale Aktivität zu simulieren
  7. Klont das Repository (cloned-repo) mit , wobei das Submodul initialisiert wird

Bei Erfolg wird der Hook ausgeführt und die Datei /tmp/teste.txt mit folgendem Inhalt erstellt:

root@kitploit:~
joao was here

🐳 Docker-Umgebung

Dieses Repository enthält ein Dockerfile, das:

  1. Git 2.45.0 (verwundbare Version) installiert
  2. Einen normalen Benutzer (joao) erstellt
  3. Die PoC-Dateien kopiert
  4. Automatisch setup.sh ausführt

🔧 Wie reproduzieren

root@kitploit:~
docker build -t git-cve-poc .
docker run --rm -it git-cve-poc

🔐 Auswirkung und Minderung

Diese Schwachstelle betrifft Git-Versionen vor 2.45.1. Der Fehler wurde mit strengeren Validierungen bei der Auflösung von Submodul-Pfaden behoben. Repositorys, die Submodule verwenden, sollten überprüft werden, und automatisierte Umgebungen sollten sofort aktualisiert werden.

⚠️ Rechtlicher Hinweis

Dieses Projekt dient ausschließlich Bildungs- und Forschungszwecken. Nicht in Produktionsumgebungen verwenden. Ziel ist es, die technischen Auswirkungen der Schwachstelle zu demonstrieren und bewährte Sicherheitspraktiken zu fördern.

Tool herunterladen
--recursive
  • Kopiert den bösartigen Hook nach .git/hooks/ und führt git checkout HEAD aus, um den Exploit auszulösen