Git-Update behebt 8 Sicherheitsanfälligkeiten

Veröffentlicht Korrekturversionen des verteilten Versionskontrollsystems Git 2.24.1, 2.23.1, 2.22.2, 2.21.1, 2.20.2, 2.19.3, 2.18.2, 2.17.3, 2.16.6, 2.15.4 und 2.14.6, welche Sicherheitsanfälligkeiten beheben, die es Angreifern ermöglichen, beliebige Pfade im Dateisystem zu überschreiben, eine Remote-Codeausführung zu ermöglichen oder Dateien im Katalog „.git/“ zu überschreiben. Die meisten Probleme wurden von den Mitarbeitern
des Microsoft Security Response Center entdeckt, fünf der acht Sicherheitsanfälligkeiten sind plattformspezifisch für Windows.

  • CVE-2019-1348 — der Stream-Befehl „feature export-marks=path“ermöglicht es konnte es ermöglichen, Daten in beliebige Verzeichnisse zu schreiben, was verwendet werden kann, um beliebige Pfade im Dateisystem beim Ausführen der Operation „git fast-import“ mit nicht validierten Eingaben zu überschreiben.
  • CVE-2019-1350 — fehlerhafte Escape-Sequenzen von Befehlszeilenargumenten konnte führen Es gab eine Schwachstelle beim rekursiven Klonen unter Verwendung von ssh://, die es einem Angreifer ermöglichte, Code aus der Ferne auszuführen. Insbesondere wurde die Escape-Behandlung von Argumenten, die mit einem Rückwärtsschrägstrich endeten (z. B. „test \“), nicht korrekt umgesetzt. In diesem Fall wurde das letzte Anführungszeichen bei der Einrahmung des Arguments in doppelte Anführungszeichen als escaped betrachtet, was es dem Angreifer ermöglichte, seine Optionen in der Kommandozeile einzuschleusen.
  • CVE-2019-1349 — beim rekursiven Klonen von Submodulen („clone —recurse-submodules“) auf Windows unter bestimmten Bedingungen war es möglich zwei Verwendungen eines git-Verzeichnisses zu initiieren (.git, git~1, git~2 und git~N werden im NTFS als dasselbe Verzeichnis erkannt, aber diese Situation wurde nur für git~1 überprüft), was verwendet werden konnte, um Schreibzugriffe auf das Verzeichnis „.git“ zu organisieren. Um die Ausführung eigenen Codes zu ermöglichen, könnte ein Angreifer beispielsweise sein Skript über den post-checkout-Handler in der Datei .git/config einfügen.
  • CVE-2019-1351 — Der Handler für Laufwerksbuchstaben in Windows-Pfaden, der auf Pfade wie „C:\“ übersetzt, war nur darauf ausgelegt, einbuchstabige Lateinische Identifikatoren zu ersetzen und berücksichtigte nicht die Möglichkeit, virtuelle Laufwerke zu erstellen, die über „subst buchstabe:pfad“ zugewiesen werden. Solche Pfade wurden nicht als absolute, sondern als relative Pfade behandelt, was es ermöglichte, beim Klonen eines schädlichen Repositories Daten in ein beliebiges Verzeichnis außerhalb des Arbeitsverzeichnisses zu schreiben (z. B. bei Verwendung von Ziffern oder Unicode-Zeichen im Laufwerksnamen – „1:\what\the\hex.txt“ oder „ä:\tschibät.sch“).
  • CVE-2019-1352 — Bei der Arbeit auf der Windows-Plattform wurde die Anwendung alternativer Datenströme in NTFS, die durch Hinzufügen des Merkmals „:stream-name:stream-type“ zum Dateinamen erstellt werden, ermöglichte Dateien im Verzeichnis „.git/“ beim Klonen eines schädlichen Repositories überschreiben. Beispielsweise wurde der Name „.git::$INDEX_ALLOCATION“ in NTFS als gültiger Verweis auf das Verzeichnis „.git“ behandelt.
  • CVE-2019-1353 — Bei der Verwendung von Git in einer WSL-Umgebung (Windows Subsystem for Linux) beim Zugriff auf das Arbeitsverzeichnis wurde nicht angewendet Schutz vor Namensmanipulation in NTFS (Angriffe über die Namensübersetzung von FAT waren möglich, zum Beispiel konnte auf «.git» über das Verzeichnis «git~1» zugegriffen werden).
  • CVE-2019-1354
    die Möglichkeit Aufzeichnungen im Verzeichnis «.git/» auf der Windows-Plattform beim Klonen von bösartigen Repositories, die Dateien mit umgekehrtem Schrägstrich im Namen enthalten (zum Beispiel «a\b»), was in Unix/Linux zulässig ist, jedoch in Windows als Teil des Pfades interpretiert wird.
  • CVE-2019-1387 — unzureichende Überprüfung der Namen von Submodulen konnte für gezielte Angriffe genutzt werden, die beim rekursiven Klonen potenziell zu einer Ausführung von Angreifer-Code führen könnten. Git verbot nicht, ein Verzeichnis eines Submoduls im Verzeichnis eines anderen Submoduls zu erstellen, was in den meisten Fällen lediglich zu Verwirrung führen kann, aber potenziell die Überschreibung des Inhalts eines anderen Moduls im Rahmen des rekursiven Klonens nicht ausschließt (zum Beispiel werden die Verzeichnisse der Submodule «hippo» und «hippo/hooks» als «.git/modules/hippo/» und «.git/modules/hippo/hooks/» abgelegt, während das Verzeichnis hooks in hippo separat zur Platzierung ausführbarer Handler verwendet werden kann.

Windows-Nutzern wird dringend empfohlen, die Git-Version sofort zu aktualisieren. Bis zu einem Update sollten keine unüberprüften Repositories geklont werden. Sollte ein sofortiges Update der Git-Version nicht möglich sein, wird empfohlen, "git clone --recurse-submodules" und "git submodule update" mit unüberprüften Repositories nicht auszuführen sowie "git fast-import" mit unüberprüften Eingabeströmen zu unterlassen und keine Repositories in NTFS-basierten Partitionen zu klonen.

Zur zusätzlichen Sicherung ist in den neuen Versionen die Verwendung von Konstruktionen in .gitmodules in der Form "submodule.{name}.update=!command" ebenfalls untersagt. Um die Veröffentlichung von Paketupdates für Distributoren zu verfolgen, können Sie die Seiten besuchen. Debian,Ubuntu, RHEL, SUSE/openSUSE, , aber bisher ist er noch nicht in, Arch, ALT, FreeBSD.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster