Zum Hauptinhalt Zur Navigation

Versionsverwaltung: Bösartige Git-Repos können Clients übernehmen

Eine Sicherheitslücke in der Versionsverwaltung Git ermöglicht es bösartigen Repositorys, unter Umständen Code auf Client-Systemen auszuführen. Patches für Git stehen bereit und verschiedene Hosting-Dienste haben Vorkehrungen gegen die Lücke getroffen.
/ Sebastian Grüner
8 Kommentare News folgen (öffnet im neuen Fenster)
Git hat eine schwerwiegende Sicherheitslücke. Updates stehen bereit. (Bild: Luke Anderson, flickr.com)
Git hat eine schwerwiegende Sicherheitslücke. Updates stehen bereit. Bild: Luke Anderson, flickr.com / CC-BY 2.0

Das Entwicklerteam der Versionsverwaltung Git hat eine Reihe von Updates(öffnet im neuen Fenster) für seine verschiedenen Versionszweige bereitgestellt, die zwei Sicherheitslücken beheben. Details zu der schwerwiegenderen von beiden, CVE-2018-11235, liefert ein Blogeintrag des Devops-Teams von Microsoft(öffnet im neuen Fenster) . Unter bestimmten Umständen können demnach bösartige Repositorys dazu genutzt werden, Code auf den Client-Systemen auszuführen (Remote Code Execution, RCE).

Führen Nutzer den Befehl "git clone --recurse-submodules" aus, erhält das Programm die Namen der Submodule aus der Datei .gitmodules . Diese Namen werden dann an den Pfad $GIT_DIR/modules angehängt, so dass über Pfadangaben wie ../ ein Directory Traversal möglich ist. Hinzu kommt, dass Post-Checkout-Hooks, also bestimmte Kontrollskripte, auch für Submodule ausgeführt werden. Zusammen kann das dann von Angreifern zum Ausführen von beliebigem Code auf den Clients genutzt werden.

Als Gegenmaßnahme hat das Team die Verwendung dieser speziell manipulierten Dateipfade in Git unterbunden. Als Schutz für Clients, die noch keine Updates eingespielt haben, wollen verschiedene Hosting-Provider das Hinzufügen von Repositorys unterbinden, die so gestaltet sind, dass diese die Lücke ausnutzen. Dazu gehören auch Microsofts Visual Studio Team Services, Gitlab(öffnet im neuen Fenster) und vermutlich auch Github, über dessen Bug-Bounty-Programm die Lücke gemeldet worden ist.

Updates verfügbar

Die zweite Lücke (CVE-2018-11233), die durch die Updates behoben wird, konnte dazu genutzt werden, den Code zur Überprüfung von Dateipfaden unter NTFS so zu manipulieren, dass damit beliebige Speicherteile ausgelesen werden konnten. Die aktuellen Versionen von Git, die die Patches für die Sicherheitslücke enthalten und diese damit schließen, sind: 2.13.7, 2.14.4, 2.15.2, 2.16.4 und 2.17.1.

Binärversionen für Windows werden über die Webseite des Projekts bereitgestellt. MacOS-Nutzer erhalten die aktuelle Version bereits über Homebrew und Updates für Linux-Distributionen werden bereits verteilt oder sollten demnächst folgen.


Relevante Themen