Sicherheitsanfälligkeit in Git, die zu Datenlecks führt

Veröffentlicht Korrekturen für die verteilte Versionierungssystem Git 2.26.1, 2.25.3, 2.24.2, 2.23.2, 2.22.3, 2.21.2, 2.20.3, 2.19.4, 2.18.3 und 2.17.4, in denen die eine Schwachstelle (CVE-2020-5260) im Handler „credential.helper“, die dazu führt, dass Anmeldedaten nicht an den richtigen Host gesendet werden, wenn der Git-Client auf ein Repository über eine speziell formatierte URL zugreift, die ein Zeilenumbruchzeichen enthält. Diese Sicherheitsanfälligkeit kann ausgenutzt werden, um Anmeldedaten von einem anderen Host auf einen vom Angreifer kontrollierten Server zu senden.

Wenn eine URL im Format „https://evil.com?host=github.com/“ angegeben wird, überträgt der Anmeldehandler beim Verbinden mit dem Host evil.com die Authentifizierungsparameter, die für github.com festgelegt sind. Das Problem tritt bei der Ausführung von Operationen wie „git clone“ auf, insbesondere bei der Verarbeitung von URLs für Submodule (zum Beispiel werden bei der Ausführung von „git submodule update“ automatisch die in der Datei .gitmodules des Repositories angegebenen URLs verarbeitet). Die Schwachstelle stellt die größte Gefahr in Situationen dar, in denen der Entwickler ein Repository klont, ohne die URL zu sehen, beispielsweise beim Arbeiten mit Submodulen, oder in Systemen, die automatisierte Aktionen durchführen, wie beispielsweise in Paketbauskripten.

Um die Sicherheitsanfälligkeit in neuen Versionen zu blockieren, ist verboten das Übertragen von Zeilenumbruchzeichen in allen Werten, die über das Protokoll für die Anmeldedatenübertragung übermittelt werden. Um sicherzustellen, dass die Aktualisierungen für die Distributionen bereitgestellt werden, können die Seiten Debian, Ubuntu, RHEL, SUSE\/openSUSE, Fedora, Arch, FreeBSD.

Als Umgehungslösung zur Blockierung des Problems wird empfohlen sollte credential.helper bei der Verbindung zu öffentlichen Repositories nicht verwendet und „git clone“ nicht im „—recurse-submodules“-Modus mit ungetesteten Repositories angewendet werden. Um den Anmeldedaten-Handler credential.helper vollständig zu deaktivieren, der Speicherung und Abruf von Passwörtern aus dem Cache, geschützt durch Speicher oder eine Passwortdatei zu verwenden, können die folgenden Befehle ausgeführt werden:

git config —unset credential.helper
git config —global —unset credential.helper
git config —system —unset credential.helper

Quelle: opennet.ru

60GB SSD 8Gb DDR4