Schwachstellen in Git, die zu Datenverlust und Überschreiben führen

Korrekturversionen des verteilten Quellcodeverwaltungssystems 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, von denen zwei Es werden Schwachstellen beseitigt, die sich auf lokale Klonoptimierungen und den Befehl „git apply“ auswirken. Sie können die Veröffentlichung von Paketaktualisierungen in Distributionen auf den Seiten Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch und FreeBSD verfolgen. Wenn es nicht möglich ist, ein Update zu installieren, wird als Workaround empfohlen, die Ausführung von „git clone“ mit der Option „--recurse-submodules“ in nicht vertrauenswürdigen Repositorys zu vermeiden und die Befehle „git apply“ und „git am“-Befehle mit einem nicht vertrauenswürdigen Code.

  • Die Sicherheitslücke CVE-2023-22490 ermöglicht es einem Angreifer, der den Inhalt eines geklonten Repositorys kontrolliert, Zugriff auf vertrauliche Daten auf dem System eines Benutzers zu erhalten. Zwei Mängel tragen zur Entstehung der Sicherheitslücke bei:

    Der erste Fehler ermöglicht es, bei der Arbeit mit einem speziell entwickelten Repository die Verwendung lokaler Klonoptimierungen zu erreichen, selbst wenn ein Transport verwendet wird, der mit externen Systemen interagiert.

    Der zweite Fehler ermöglicht das Platzieren eines symbolischen Links anstelle des Verzeichnisses $GIT_DIR/objects, ähnlich der Schwachstelle CVE-2022-39253, bei deren Behebung die Platzierung symbolischer Links im Verzeichnis $GIT_DIR/objects blockiert wurde, dies jedoch nicht der Fall ist Dass das Verzeichnis $GIT_DIR/objects selbst nicht überprüft wurde, könnte ein symbolischer Link sein.

    Im lokalen Klonmodus verschiebt git $GIT_DIR/objects in das Zielverzeichnis, indem es Symlinks dereferenziert, wodurch die referenzierten Dateien direkt in das Zielverzeichnis kopiert werden. Der Wechsel zur Verwendung lokaler Klonoptimierungen für nicht-lokalen Transport ermöglicht die Ausnutzung einer Schwachstelle bei der Arbeit mit externen Repositorys (z. B. kann das rekursive Einschließen von Submodulen mit dem Befehl „git clone --recurse-submodules“ zum Klonen eines bösartigen Repositorys führen, das als verpackt ist ein Submodul in einem anderen Repository).

  • Die Sicherheitslücke CVE-2023-23946 ermöglicht das Überschreiben des Inhalts von Dateien außerhalb des Arbeitsverzeichnisses, indem eine speziell formatierte Eingabe an den Befehl „git apply“ übergeben wird. Ein Angriff kann beispielsweise erfolgen, wenn von einem Angreifer vorbereitete Patches in „git apply“ verarbeitet werden. Um zu verhindern, dass Patches Dateien außerhalb der Arbeitskopie erstellen, blockiert „git apply“ die Verarbeitung von Patches, die versuchen, eine Datei mithilfe symbolischer Links zu schreiben. Es stellte sich jedoch heraus, dass dieser Schutz durch die Schaffung einer symbolischen Verbindung umgangen wurde.

Source: opennet.ru

Kommentar hinzufügen