Schwachstellen in Git beim Klonen von Submodulen und Verwendung der Git-Shell

Es wurden Korrekturversionen des verteilten Quellcodeverwaltungssystems 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 veröffentlicht, die das Problem beheben zwei Schwachstellen, die bei Verwendung des Befehls „git clone“ im Modus „—recurse-submodules“ mit ungeprüften Repositorys und bei Verwendung des interaktiven Modus „git shell“ auftreten. Sie können die Veröffentlichung von Paketaktualisierungen in Distributionen auf den Seiten von Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD verfolgen.

  • CVE-2022-39253 – Die Sicherheitslücke ermöglicht es einem Angreifer, der den Inhalt des geklonten Repositorys kontrolliert, Zugriff auf vertrauliche Daten auf dem System des Benutzers zu erhalten, indem er symbolische Links zu relevanten Dateien im Verzeichnis $GIT_DIR/objects des geklonten Repositorys platziert. Das Problem tritt nur beim lokalen Klonen auf (im „--local“-Modus, der verwendet wird, wenn sich die Ziel- und Quelldaten des Klons in derselben Partition befinden) oder beim Klonen eines bösartigen Repositorys, das als Submodul in einem anderen Repository verpackt ist (z. B. beim rekursiven Einbinden von Submodulen mit dem „git clone“-Befehl --recurse-submodules“).

    Die Sicherheitslücke wird durch die Tatsache verursacht, dass git im Klonmodus „--local“ den Inhalt von $GIT_DIR/objects in das Zielverzeichnis überträgt (Hardlinks oder Kopien von Dateien erstellt) und eine Dereferenzierung symbolischer Links durchführt (d. h. als Dadurch werden nicht-symbolische Links in das Zielverzeichnis kopiert, sondern direkt die Dateien, auf die die Links verweisen. Um die Sicherheitslücke zu schließen, verbieten neue Versionen von Git das Klonen von Repositorys im „--local“-Modus, die symbolische Links im Verzeichnis $GIT_DIR/objects enthalten. Darüber hinaus wurde der Standardwert des Parameters „protocol.file.allow“ in „user“ geändert, wodurch Klonvorgänge mit dem Protokoll „file://“ unsicher werden.

  • CVE-2022-39260 – Ganzzahlüberlauf in der Funktion „split_cmdline()“, die im Befehl „git shell“ verwendet wird. Das Problem kann verwendet werden, um Benutzer anzugreifen, die „Git Shell“ als Anmelde-Shell haben und den interaktiven Modus aktiviert haben (eine Datei $HOME/git-shell-commands wurde erstellt). Die Ausnutzung der Sicherheitslücke kann zur Ausführung beliebigen Codes auf dem System führen, wenn ein speziell entwickelter Befehl gesendet wird, der größer als 2 GB ist.

Source: opennet.ru

Kommentar hinzufügen