Erforschung von Git-Schwachstellen: Neueste Korrekturen und Updates
In Git, einem beliebten verteilten Versionskontrollsystem, wurden mehrere Sicherheitslücken gefunden. Das Ubuntu-Sicherheitsteam hat die Git-Schwachstellen proaktiv behoben, indem es Updates für verschiedene Versionen des Ubuntu-Betriebssystems veröffentlicht hat, darunter Ubuntu 24.04 LTS, Ubuntu 23.10, Ubuntu 22.04 LTS und Ubuntu 20.04 LTS.
Git-Sicherheitslücken in Ubuntu-Updates behoben
Sicherheitslücken wurden in Git-Versionen vor 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 und 2.39.4 entdeckt. Sie wurden in den Versionen 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 und 2.39.4 korrigiert.
CVE-2024-32002 (CVSS v3 Score: 9.0 Kritisch)
In Git wurde eine Sicherheitslücke gefunden, die Repositories mit Submodulen betrifft. Angreifer können Git so austricksen, dass es während des Klonvorgangs bösartigen Code an einer kritischen Stelle platziert. Dies ermöglicht es einem Angreifer, während des Klonvorgangs ohne Wissen des Benutzers einen Hook auszuführen. Die Deaktivierung der Unterstützung für symbolische Links in Git (mit git config -global core.symlinks false) kann diesen Angriff ebenfalls verhindern.
CVE-2024-32004
Diese Schwachstelle könnte einem Angreifer erlauben, ein lokales Repository so zu erstellen, dass beliebiger Code ausgeführt wird, wenn es geklont wird. Angreifer könnten dies ausnutzen, um unautorisierte Aktionen auf Ihrem System auszuführen.
CVE-2024-32020
Eine weitere Git-Schwachstelle betrifft die falsche Handhabung von lokalen Klonen mit fest verknüpften Dateien/Verzeichnissen. Es wurde festgestellt, dass lokale Klone Dateien in der Objektdatenbank des Ziel-Repositorys fest verlinken können, wenn sich Quell- und Ziel-Repositorys auf derselben Festplatte befinden. Wenn ein anderer Benutzer das Quell-Repository besaß, konnte der nicht vertrauenswürdige Benutzer diese fest verknüpften Dateien jederzeit neu schreiben. Beim Klonen lokaler Repositorys werden in der Regel Dateien aus dem Quell- in das Ziel-Repository kopiert oder fest verlinkt, was den Prozess beschleunigt und Speicherplatz sowie Rechenzeit spart. Das Klonen von einem Repository auf derselben Festplatte, das einem anderen Benutzer gehört, kann jedoch dazu führen, dass Hardlinks erstellt werden, die von dem nicht vertrauenswürdigen Benutzer kontrolliert werden, so dass dieser die Dateien später ändern kann.
CVE-2024-32021
Das Klonen eines lokalen Quell-Repositorys, das Symlinks über das Dateisystem enthält, konnte dazu führen, dass Git Hardlinks zu beliebigen benutzerlesbaren Dateien im Verzeichnis `objects/` des Ziel-Repositorys erstellt. Beim lokalen Klonen (ohne Angabe des `file://`-Protokolls oder Verwendung von `-no-local`) optimiert Git den Prozess, indem es versucht, Hardlinks auf Objektdateien zu erstellen, anstatt sie zu kopieren. Trotz der Prüfungen gegen Symlinks im Quell-Repository, die hinzugefügt wurden, um CVE-2022-39253 zu beheben, können diese Prüfungen umgangen werden, wenn die Hardlink-Operation Symlinks folgt. Wenn ein Objekt wÃ?hrend der ÃœberprÃ?fung als Datei, aber wÃ?hrend der Operation als Symlink erscheint, kann ein Angreifer im Zielverzeichnis `objects/` Hardlinks zu beliebigen benutzerlesbaren Dateien erstellen.
CVE-2024-32465
Dieses Problem wird in CVE-2024-32004 behandelt. Die Korrekturen für CVE-2024-32004 decken jedoch möglicherweise nicht alle Szenarien ab, z. B. beim Erhalt einer .zip-Datei, die ein vollständiges Git-Repository enthält, das möglicherweise Hooks enthält, die für die Ausführung in diesem Kontext konfiguriert sind. Ähnlich wie bei der vorherigen Schwachstelle mit dem geklonten Repository könnte dieser Fehler Angreifern die Ausführung von beliebigem Code ermöglichen.
Maßnahmen zur Schadensbegrenzung
Um Ihre Systeme gegen diese Schwachstellen zu schützen, müssen Sie unbedingt Ihre Git-Pakete aktualisieren. Im Allgemeinen werden durch die Durchführung einer Standard-Systemaktualisierung alle wesentlichen Sicherheitspatches implementiert. Benutzer von Ubuntu 24.04 LTS, Ubuntu 23.10, Ubuntu 22.04 LTS und Ubuntu 20.04 LTS sollten sicherstellen, dass ihre Systeme aktualisiert werden, um von diesen Korrekturen zu profitieren.
Anwender und Unternehmen, die noch auf auslaufende Ubuntu-Systeme setzen, können den Extended Lifecycle Support (ELS) von TuxCare für Ubuntu 16.04 und Ubuntu 18.04 in Anspruch nehmen. Dieser erweiterte Support bietet alle kritischen Sicherheitsupdates für bis zu fünf weitere Jahre nach dem EOL-Datum.
Schlussfolgerung
Die Entdeckung dieser Git-Schwachstellen macht deutlich, wie wichtig regelmäßige Systemaktualisierungen und Wachsamkeit bei der Softwaresicherheit sind. Indem Sie Ihre Git-Pakete und -Systeme auf dem neuesten Stand halten, können Sie Ihre Entwicklungsumgebung vor potenziellen Angriffen schützen und die Integrität und Sicherheit Ihrer Code-Repositories aufrechterhalten. Das Git-Projekt empfiehlt, die direkte Arbeit in nicht vertrauenswürdigen Repositories zu vermeiden und empfiehlt die Verwendung von git clone --no-local
um eine saubere Kopie zu erhalten.
Quelle: USN-6793-1