Die korrigierenden Releases der verteilten Versionierungssoftware Git 2.38.1, 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3 und 2.37.4 wurden veröffentlicht, die zwei Sicherheitsanfälligkeiten beheben. Diese treten beim Einsatz des Befehls „git clone“ im Modus „—recurse-submodules“ mit unprüfbaren Repositories und beim Gebrauch des interaktiven Modus „git shell“ auf. Informationen zu den Paketupdates in den Distributionen finden Sie auf den Seiten von Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch und FreeBSD.
- CVE-2022-39253 — Diese Sicherheitsanfälligkeit erlaubt es einem Angreifer, der den Inhalt des zu klonenden Repositories kontrolliert, auf vertrauliche Daten im System des Benutzers zuzugreifen, indem er im Verzeichnis $GIT_DIR/objects symbolische Links auf relevante Dateien platziert. Das Problem tritt nur beim lokalen Klonen (im Modus „—local“, der angewendet wird, wenn sich die Ziel- und Quell-Daten im selben Partition befinden) oder beim Klonen eines schädlichen Repositories auf, das als Submodul in einem anderen Repository gepackt ist (zum Beispiel beim rekursiven Einbinden von Submodulen durch den Befehl „git clone —recurse-submodules“).
Die Sicherheitslücke entsteht dadurch, dass im Klonmodus „—local“ git den Inhalt von $GIT_DIR/objects in das Zielverzeichnis überträgt (indem es harte Links oder Kopien von Dateien erstellt) und symbolische Links auflöst (d.h., letztendlich werden im Zielverzeichnis nicht die symbolischen Links, sondern die tatsächlichen Dateien, auf die die Links verweisen, kopiert). Um die Ausnutzung dieser Sicherheitslücke in neuen Versionen von git zu verhindern, ist das Klonen von Repositories im „—local“-Modus, die symbolische Links im Verzeichnis $GIT_DIR/objects enthalten, untersagt. Zudem wurde der Standardwert des Parameters protocol.file.allow auf „user“ geändert, was Klonoperationen mit dem file://-Protokoll als unsicher einstuft.
- CVE-2022-39260 – ein Integer-Überlauf in der Funktion split_cmdline(), die im Kommando „git shell“ verwendet wird. Das Problem kann genutzt werden, um Benutzer anzugreifen, bei denen „git shell“ als Shell beim Login verwendet wird und der interaktive Modus aktiviert ist (eine Datei $HOME/git-shell-commands wurde erstellt). Die Ausnutzung der Sicherheitslücke kann zur Ausführung beliebigen Codes im System führen, wenn ein speziell gestalteter Befehl übermittelt wird, der größer als 2 GB ist.
Quelle: opennet.ru
