In Git wurde eine kritische Sicherheitsanfälligkeit (CVE-2021-29468) entdeckt, die nur beim Erstellen für die Cygwin-Umgebung auftritt (eine Bibliothek zur Emulation der grundlegenden Linux-API unter Windows und eine Sammlung typischer Linux-Programme für Windows). Diese Sicherheitsanfälligkeit ermöglicht es Angreifern, Code auszuführen, wenn Daten aus einem von ihnen kontrollierten Repository mit dem Befehl „git checkout“ abgerufen werden. Das Problem wurde im Git-Paket 2.31.1-2 für Cygwin behoben. Im Hauptprojekt von Git wurde das Problem bislang nicht behoben (es ist unwahrscheinlich, dass jemand Git für Cygwin selbst kompiliert, anstatt ein vorgefertigtes Paket zu verwenden).
Die Schwachstelle entsteht durch die Behandlung der Cygwin-Umgebung als Unix-ähnliches System und nicht als Windows, was dazu führt, dass es keine Einschränkungen für die Verwendung des Zeichens '\' im Dateipfad gibt. In Cygwin, wie auch in Windows, kann dieses Zeichen zur Trennung von Verzeichnissen verwendet werden. Dadurch ist es möglich, durch die Erstellung eines speziell modifizierten Repositories, das symbolische Links und Dateien mit dem umgekehrten Schrägstrich enthält, beliebige Dateien beim Laden dieses Repositories in Cygwin zu überschreiben (eine ähnliche Schwachstelle in Git für Windows wurde 2019 behoben). Mit der Möglichkeit, Dateien zu überschreiben, kann der Angreifer die Hook-Aufrufe in Git umdefinieren und die Ausführung beliebigen Codes im System erreichen.
Quelle: opennet.ru
