Schwachstellen in Git, die es Ihnen ermöglichen, Dateien zu überschreiben oder eigenen Code auszuführen

Es wurden Korrekturversionen von Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 und 2.30.9 veröffentlicht.XNUMX , wodurch fünf Schwachstellen behoben wurden. Sie können die Veröffentlichung von Paketaktualisierungen in Distributionen auf den Seiten Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch und FreeBSD verfolgen. Als Workaround zum Schutz vor Schwachstellen wird empfohlen, die Ausführung des Befehls „git apply --reject“ zu vermeiden, wenn Sie mit ungetesteten externen Patches arbeiten, und den Inhalt von $GIT_DIR/config zu überprüfen, bevor Sie „git submodule deinit“, „git config --rename-section“ und „ git config --remove-section“ beim Umgang mit nicht vertrauenswürdigen Repositorys.

Die Sicherheitslücke CVE-2023-29007 ermöglicht das Ersetzen von Einstellungen in der Konfigurationsdatei $GIT_DIR/config, die zum Ausführen von Code im System verwendet werden kann, indem Pfade zu ausführbaren Dateien in den Anweisungen core.pager, core.editor und core.sshCommand angegeben werden. Die Sicherheitslücke wird durch einen logischen Fehler verursacht, der dazu führt, dass sehr lange Konfigurationswerte beim Umbenennen oder Löschen eines Abschnitts aus einer Konfigurationsdatei als Beginn eines neuen Abschnitts behandelt werden können. In der Praxis kann die Ersetzung ausbeuterischer Werte durch die Angabe sehr langer Submodul-URLs erreicht werden, die während der Initialisierung in der Datei $GIT_DIR/config gespeichert werden. Diese URLs können als neue Einstellungen interpretiert werden, wenn versucht wird, sie über „git submodule deinit“ zu entfernen.

Die Sicherheitslücke CVE-2023-25652 ermöglicht das Überschreiben des Inhalts von Dateien außerhalb des Arbeitsbaums, wenn speziell gestaltete Patches durch den Befehl „git apply --reject“ verarbeitet werden. Wenn Sie versuchen, mit dem Befehl „git apply“ einen bösartigen Patch auszuführen, der versucht, über einen symbolischen Link in eine Datei zu schreiben, wird der Vorgang abgelehnt. In Git 2.39.1 wurde der Symlink-Manipulationsschutz erweitert, um Patches zu blockieren, die Symlinks erstellen und versuchen, über diese zu schreiben. Der Kern der betrachteten Schwachstelle besteht darin, dass Git nicht berücksichtigt hat, dass der Benutzer den Befehl „git apply -reject“ ausführen kann, um die abgelehnten Teile des Patches als Dateien mit der Erweiterung „.rej“ zu schreiben, und der Angreifer dies kann Nutzen Sie diese Gelegenheit, um den Inhalt in ein beliebiges Verzeichnis zu schreiben, sofern die aktuellen Berechtigungen dies zulassen.

Darüber hinaus wurden drei Schwachstellen behoben, die nur auf der Windows-Plattform auftreten: CVE-2023-29012 (suchen Sie nach der ausführbaren Datei doskey.exe im Arbeitsverzeichnis des Repositorys, wenn Sie den Befehl „Git CMD“ ausführen, was Ihnen die Organisation ermöglicht die Ausführung Ihres Codes auf dem System des Benutzers), CVE-2023 -25815 (Pufferüberlauf beim Verarbeiten benutzerdefinierter Lokalisierungsdateien in gettext) und CVE-2023-29011 (Möglichkeit, die Datei connect.exe bei der Arbeit mit SOCKS5 zu ersetzen).

Source: opennet.ru

Kommentar hinzufügen