In Git wurde eine kritische Sicherheitsanfälligkeit (CVE-2021-29468) entdeckt, die nur beim Bauen für die Cygwin-Umgebung (eine Bibliothek zur Emulation der grundlegenden Linux-API unter Windows und ein Satz typischer Linux-Programme für Windows) auftritt. Diese Schwachstelle ermöglicht die Ausführung von Angreifercode beim Abrufen von Daten („git checkout“) aus einem vom Angreifer kontrollierten Repository. Das Problem wurde im Paket git 2.31.1-2 für Cygwin behoben. Im Hauptprojekt Git ist das Problem bislang nicht behoben (es ist unwahrscheinlich, dass jemand Git für Cygwin manuell kompiliert, anstatt ein fertiges Paket zu verwenden).
Die Sicherheitsanfälligkeit wird durch die Behandlung der Cygwin-Umgebung als Unix-ähnliches System und nicht als Windows verursacht, was dazu führt, dass es keine Einschränkungen bei der Verwendung des Symbols ‚\‘ im Pfad gibt, während dieses Symbol sowohl in Cygwin als auch in Windows zur Trennung von Verzeichnissen verwendet werden kann. Daher kann durch die Erstellung eines speziell modifizierten Repositories, das symbolische Links und Dateien mit dem umgekehrten Schrägstrich enthält, eine Überschreibung beliebiger Dateien beim Laden dieses Repositories in Cygwin erreicht werden (in Git für Windows wurde eine ähnliche Sicherheitsanfälligkeit 2019 behoben). Hat der Angreifer die Möglichkeit, Dateien zu überschreiben, kann er Hook-Aufrufe in Git umdefinieren und die Ausführung beliebigen Codes im System erreichen.
Quelle: opennet.ru
