
GIT-Sicherheitslücke | Wagenrücklauf und RCE beim Klonen
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.
Das Problem ergibt sich aus der Art und Weise, wie Git Konfigurationswerte verarbeitet:
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.
Die Schwachstelle nutzt einen Interpretationskonflikt in Gits Konfigurationsparsing aus:
.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:
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).
Die Schwachstelle betrifft Git-Versionen vor den folgenden Patch-Releases:
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.
--recurse-submodules.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).
--recurse-submodules) aus nicht vertrauenswürdigen Repositories.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.
.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:
$HOME/flag.txt innerhalb des Containers.malicious-submodule-repo/ nach /tmp im Container.post-checkout-Hook auszulösen, falls die Path-Confusion erfolgreich ist./tmp/flag.txt aus, das vom Hook erstellt wurde.Hinweise:
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.bash scripts/update-gitlink.sh.