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-2025-48384 — GIT-Sicherheitslücke | Wagenrücklauf und RCE beim Klonen | Kitploit
Tools/GitHubGitHub/s41r4j/cve-2025-48384
SchwachstellenanalyseExploitationLieferkettensicherheitPapers & ForschungLernen & BildungLabs & Praxis
GitHubs41r4j/cve-2025-48384

CVE-2025-48384

GIT-Sicherheitslücke | Wagenrücklauf und RCE beim Klonen

Repository anzeigen
2vor 11 MonatenNoch nicht geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Übersicht über CVE-2025-48384

CVE-2025-48384 ist eine kritische Schwachstelle in Git, dem weit verbreiteten verteilten Versionskontrollsystem. Sie betrifft die unsachgemäße Behandlung von Wagenrücklaufzeichen (CR) in Konfigurationswerten, was zu Path-Traversal-Problemen beim Auschecken von Submodulen führen kann. Dieser Fehler ermöglicht unter bestimmten Bedingungen eine potenzielle Ausführung beliebigen Codes. Die Schwachstelle wurde am 8. Juli 2025 öffentlich bekannt gegeben und zuletzt am 26. August 2025 geändert. Sie wurde am 25. August 2025 in den Katalog der bekannten ausgenutzten Schwachstellen (KEV) der US-amerikanischen Cybersecurity and Infrastructure Security Agency (CISA) aufgenommen, was auf eine aktive Ausnutzung in freier Wildbahn hindeutet. Das Fälligkeitsdatum für die Behebung ist der 15. September 2025.

Beschreibung der Schwachstelle

Das Problem ergibt sich aus der Art und Weise, wie Git Konfigurationswerte verarbeitet:

  • Beim Lesen eines Konfigurationswerts entfernt Git alle nachgestellten Wagenrücklauf- und Zeilenvorschubzeichen (CRLF).
  • Beim Schreiben eines Konfigurationseintrags werden Werte, die einen nachgestellten CR enthalten, jedoch nicht korrekt in Anführungszeichen gesetzt, sodass der CR bei nachfolgenden Lesevorgängen verloren geht.

Diese Diskrepanz kann dazu führen, dass ein Submodul an eine falsche Stelle ausgecheckt wird, wenn sein Pfad einen nachgestellten CR enthält. Wenn ein Angreifer einen Symlink einrichtet, der diesen geänderten Pfad auf das Hooks-Verzeichnis des Submoduls zeigt – und das Submodul einen ausführbaren Post-Checkout-Hook enthält –, könnte das Hook-Skript nach dem Auschecken unbeabsichtigt ausgeführt werden, was zu einer Ausführung beliebigen Codes führt.

Technische Details

Die Schwachstelle nutzt einen Interpretationskonflikt in Gits Konfigurationsparsing aus:

  • : Nachgestellte CRs werden beim Lesen entfernt, aber beim Schreiben ohne Anführungszeichen nicht beibehalten.
Fehlende Übereinstimmung bei der Konfigurationsverarbeitung
  • Änderung des Submodul-Checkout-Pfads: Ein Submodul-Pfad wie "submodule/pfad" könnte nach dem Verlust des CR als "submodule/pfad" interpretiert werden.
  • Symlink-Ausnutzung: Ein Angreifer könnte einen Symlink vom geänderten Pfad zum Hooks-Verzeichnis (z.B. .git/hooks/post-checkout) erstellen, was die Ausführung bösartiger Hooks während Vorgängen wie git submodule update oder git clone --recurse-submodules ermöglicht.
  • Dies wird klassifiziert unter:

    • CWE-436: Interpretationskonflikt (Abweichung bei der Verarbeitung von Daten).
    • CWE-59: Unsachgemäße Linkauflösung vor Dateizugriff ('Link Following') aufgrund von Symlink-Missbrauch.

    Der Angriffsvektor ist netzwerkbasiert (AV:N), mit hoher Komplexität (AC:H), niedrigen erforderlichen Privilegien (PR:L), erforderlicher Benutzerinteraktion (UI:R) und geändertem Scope (S:C), was die Vertraulichkeit, Integrität und Verfügbarkeit stark beeinträchtigt (C:H/I:H/A:H).

    Betroffene Versionen

    Die Schwachstelle betrifft Git-Versionen vor den folgenden Patch-Releases:

    • Alle Versionen vor v2.43.7
    • v2.44.0 bis v2.44.3
    • v2.45.0 bis v2.45.3
    • v2.46.0 bis v2.46.3
    • v2.47.0 bis v2.47.2
    • v2.48.0 bis v2.48.1
    • v2.49.0
    • v2.50.0

    Sie betrifft Git auf verschiedenen Plattformen, einschließlich Linux, macOS und Windows, ist aber besonders relevant in Entwicklerumgebungen, CI/CD-Pipelines (z.B. GitHub Actions, GitLab CI) und überall dort, wo Git-Submodule aus nicht vertrauenswürdigen Repositories geklont werden.

    Auswirkungen und Ausnutzungsszenarien

    • Auswirkung: Hohes Risiko einer Remotecodeausführung (RCE), Datenexfiltration oder Systemkompromittierung. In Entwicklerworkflows könnte dies zu Supply-Chain-Angriffen führen, wenn bösartige Repositories geklont werden.
    • Ausnutzungsvoraussetzungen:
      • Ein speziell gestalteter Submodul-Pfad mit einem nachgestellten CR.
      • Ein Symlink, der auf das Hooks-Verzeichnis umleitet.
      • Ein ausführbarer Hook (z.B. post-checkout) im Submodul.
      • Benutzerinteraktion, wie das Klonen eines Repositories mit --recurse-submodules.
    • Ausnutzung in der Praxis: Da es im CISA-KEV-Katalog aufgeführt ist, müssen Bundesbehörden und kritische Infrastrukturen bis zum 15. September 2025 Abhilfe schaffen. Es wird wahrscheinlich in gezielten Angriffen gegen Entwickler oder Open-Source-Projekte ausgenutzt. In der Beratung wird kein öffentlicher Proof-of-Concept (PoC) erwähnt, aber die hohe Komplexität deutet auf eine spezifische Einrichtung hin.

    CVSS-Details sind im NVD noch nicht vollständig bewertet (CVSS 4.0 ausstehend), aber basierend auf den CVSS 3.1-Metriken aus der Beratung entspricht dies einer kritischen Schwere (geschätzter CVSS 8.8, wie bereits in breiteren CVE-Listen vermerkt).

    Abhilfemaßnahmen und Empfehlungen

    • Behobene Versionen: Aktualisieren Sie Git auf eine der folgenden oder neuere Versionen:
      • v2.43.7
      • v2.44.4
      • v2.45.4
      • v2.46.4
      • v2.47.3
      • v2.48.2
      • v2.49.1
      • v2.50.1
    • Workarounds:
      • Vermeiden Sie das rekursive Klonen von Submodulen (--recurse-submodules) aus nicht vertrauenswürdigen Repositories.
      • Deaktivieren oder beschränken Sie die Symlink-Nutzung in Git-Konfigurationen, wenn möglich.
      • Verwenden Sie Git in Umgebungen mit eingeschränkten Berechtigungen (z.B. containerisierte Setups).
    • Zusätzlicher Rat: Für Organisationen, die CISA-Anweisungen unterliegen, wenden Sie Patches gemäß den Herstelleranweisungen an oder stellen Sie die Nutzung ein, wenn eine Patch nicht möglich ist. Überprüfen Sie regelmäßig Repositories auf verdächtige Submodule und überwachen Sie auf unerwartete Hook-Ausführungen.

    Credits und Referenzen

    • Credits: Die Beratung würdigt ttaylorr für die Meldung und Veröffentlichung von Details.
    • Wichtige Referenzen:
      • NVD-Eintrag: https://nvd.nist.gov/vuln/detail/CVE-2025-48384
      • GitHub Advisory: https://github.com/git/git/security/advisories/GHSA-vwqx-4fm8-6qc9
      • CISA KEV Catalog: (In NVD-Details integriert)

    Diese Schwachstelle unterstreicht die Bedeutung einer sicheren Handhabung in Versionskontrollsystemen, insbesondere bei Submodulen. Wenn Sie Git in einer Produktions- oder Entwicklungsumgebung verwenden, priorisieren Sie die sofortige Aktualisierung angesichts des Status der aktiven Ausnutzung.

    Quick PoC

    • Voraussetzungen: Docker installiert; dieses Repository lokal geklont. Während des PoC ist kein Netzwerk erforderlich.
    • Anfälliges Git: Verwendet Git 2.40.4 (bestätigtes Path-Confusion-Verhalten).
    • Submodul-URL: .gitmodules verweist auf https://github.com/s41r4j/CVE-2025-48384-submodule.git, aber der PoC schreibt sie für Offline-Tests auf eine lokale Kopie um.

    Ausführen:

    bash scripts/poc.sh

    Was es tut:

    • Erstellt ein Container-Image mit Git 2.40.4.
    • Erstellt eine Flag-Datei unter $HOME/flag.txt innerhalb des Containers.
    • Kopiert malicious-submodule-repo/ nach /tmp im Container.
    • Klont dieses Repository rekursiv mit einer URL-Umschreibung auf die lokale Submodul-Kopie.
    • Erzwingt das Auschecken, um den post-checkout-Hook auszulösen, falls die Path-Confusion erfolgreich ist.
    • Gibt /tmp/flag.txt aus, das vom Hook erstellt wurde.

    Hinweise:

    • Der bösartige Submodul-Pfad ist ein wörtliches sub^M (CR), das als Gitlink gespeichert ist; der bereinigte Pfad sub wird über einen Symlink zu .git/hooks aufgelöst, sodass das vom Submodul verfolgte post-checkout als tatsächlicher Hook landet und ausgeführt wird.
    • Um den Gitlink auf den letzten Commit Ihres entfernten Submoduls umzuleiten, nachdem Sie es auf GitHub gepusht haben, führen Sie aus: bash scripts/update-gitlink.sh.
    Tool herunterladen