Die korrigierenden Versionen des verteilten Systems zur Verwaltung von Quelltexten Git 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 und 2.30.8 wurden veröffentlicht, in denen zwei Sicherheitsanfälligkeiten behoben wurden, die Optimierungen beim lokalen Klonen und den Befehl „git apply“ betreffen. Die Aktualisierung der Pakete in den Distributionen kann auf den Seiten von Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch und FreeBSD verfolgt werden. Falls ein Update nicht möglich ist, wird empfohlen, hinsichtlich unsicherer Repositories das Klonen mit der Option „—recurse-submodules“ zu vermeiden und die Befehle „git apply“ und „git am“ mit unüberprüftem Code nicht zu verwenden.
- Die Sicherheitsanfälligkeit CVE-2023-22490 ermöglicht es einem Angreifer, der die Inhalte des geklonten Repositories kontrolliert, auf vertrauliche Daten im System des Benutzers zuzugreifen. Zwei Mängel tragen zu diesem Sicherheitsproblem bei:
Der erste Mangel ermöglicht es, beim Arbeiten mit einem speziell gestalteten Repository lokale Klonoptimierungen anzuwenden, selbst wenn ein Transport verwendet wird, der mit externen Systemen kommuniziert.
Ein weiteres Problem ermöglicht die Platzierung eines symbolischen Links anstelle des Verzeichnisses $GIT_DIR/objects, ähnlich wie bei der Schwachstelle CVE-2022-39253, bei der das Ablegen von symbolischen Links im Verzeichnis $GIT_DIR/objects blockiert wurde, jedoch nicht überprüft wurde, ob das Verzeichnis $GIT_DIR/objects selbst ein symbolischer Link sein könnte.
Im Modus des lokalen Klonens verschiebt Git $GIT_DIR/objects in das Zielverzeichnis, indem es symbolische Links auflöst, was dazu führt, dass die Dateien, auf die die Links verweisen, direkt in das Zielverzeichnis kopiert werden. Das Umschalten auf die Anwendung lokaler Optimierungen für den Klonvorgang bei nicht-lokalen Transporten ermöglicht es, die Schwachstelle bei der Arbeit mit externen Repositories auszunutzen (z. B. kann das rekursive Einbeziehen von Submodulen mit dem Befehl „git clone —recurse-submodules“ dazu führen, dass ein bösartiges Repository, das als Submodul in einem anderen Repository verpackt ist, geklont wird).
- Die CVE-2023-23946-Sicherheitsanfälligkeit ermöglicht es, den Inhalt von Dateien außerhalb des Arbeitsverzeichnisses durch die Übermittlung speziell gestalteter Eingaben an den Befehl „git apply“ zu überschreiben. Zum Beispiel kann ein Angriff stattfinden, wenn von einem Angreifer vorbereitete Patches in „git apply“ verarbeitet werden. Um die Erstellung von Dateien außerhalb der Arbeitskopie durch Patches zu verhindern, blockiert „git apply“ die Verarbeitung von Patches, die versuchen, eine Datei mithilfe von symbolischen Links zu schreiben. Diese Schutzmaßnahme kann jedoch umgangen werden, indem zuerst ein symbolischer Link erstellt wird.
Quelle: opennet.ru
