Sicherheitsanfälligkeiten in Git, die zu Datenlecks und -überschreibungen führen

Korrekturversionen des verteilten Source-Code-Management-Systems 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 Schwachstellen behoben wurden, die Optimierungen bei lokalen Klonvorgängen und den Befehl „git apply“ betreffen. Informationen über die Veröffentlichung von Paketaktualisierungen in den Distributionen finden Sie auf den Seiten von Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch und FreeBSD. Falls ein Update nicht möglich ist, wird empfohlen, die Ausführung des „git clone“-Befehls mit der Option „—recurse-submodules“ von nicht vertrauenswürdigen Repositories zu vermeiden und die Befehle „git apply“ und „git am“ mit unüberprüftem Code nicht zu verwenden.

  • Die Schwachstelle CVE-2023-22490 ermöglicht es einem Angreifer, der die Inhalte des geklonten Repositories kontrolliert, Zugriff auf vertrauliche Daten des Benutzersystems zu erhalten. Zwei Mängel führen zur Entstehung der Schwachstelle:

    Der erste Mangel ermöglicht es bei der Arbeit mit einem speziell gestalteten Repository, lokale Klonoptimierungen anzuwenden, selbst wenn ein Transport verwendet wird, der mit externen Systemen interagiert.

    Der zweite Mangel erlaubt das Platzieren eines symbolischen Links anstelle des Verzeichnisses $GIT_DIR/objects, ähnlich wie bei der Schwachstelle CVE-2022-39253, bei deren Behebung das Platzieren 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 und dereferenziert symbolische Links, was dazu führt, dass die Dateien, auf die die Links zeigen, direkt in das Zielverzeichnis kopiert werden. Der Wechsel zu lokalen Klonoptimierungen für nicht-lokale Transporte ermöglicht es, die Schwachstelle bei der Arbeit mit externen Repositories auszunutzen (zum Beispiel kann das rekursive Einfügen von Submodulen mit dem Befehl „git clone —recurse-submodules“ dazu führen, dass ein schädliches Repository, das als Submodul in einem anderen Repository verpackt ist, geklont wird).

  • Die Schwachstelle CVE-2023-23946 ermöglicht es, Dateien außerhalb des Arbeitsverzeichnisses zu überschreiben, indem speziell gestaltete Eingaben an den Befehl „git apply“ übergeben werden. Ein Angriff könnte beispielsweise bei der Verarbeitung von von Angreifern vorbereiteten Patches in „git apply“ erfolgen. 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 konnte jedoch umgangen werden, indem zuerst ein symbolischer Link erstellt wurde.

Quelle: opennet.ru

60GB SSD 8Gb DDR4