SSH-Sicherheitslücke bei Versionskontrollsystemen

Fast alle Versionskontrollsysteme sind anfällig für eine Sicherheitslücke die es Angreifern ermöglicht, über SSH-URLs fast beliebige Befehle auszuführen. Git, Mercurial und SVN sind betroffen. Es wurden Patches entwickelt um diese Lücke zu schließen.


Da führt dazu, dass das der Client des Versionskontrollsystems die URL als Options-Flag interpretiert und in der URL enthaltene Befehle ohne Prüfung ausführt. Die betroffenen Tools wurden bereits von den Entwicklern mit Updates versorgt die ein solches Verhalten ab sofort verhindern sollen.

Das Problem liegt darin begründet: Die Tools wie Git bei der Verbindung mit einer URL über SSH diese als auszuführenden Befehl interpretieren, wenn sie mit einem Bindestrich beginnt. Im Client können Nutzer für den Zugriff normalerweise ssh://example.com verwenden um eine SSH-Verbindung zum Repository unter example.com aufzubauen. Wie ein Mitarbeiter von Recurity Labs nun herausfand, wird ssh://-oProxyCommand=some-command allerdings nicht als Hostname, allerdings als Switch für SSH (-o ProxyCommand) interpretiert. Der Git-Client führt die angehängten Befehle dann mit seinen normalen Rechten aus was für Angriffe missbraucht werden könnte.

Nutzer sind zum Beispiel angreifbar wenn sie ein Repository über SSH klonen wollen und dabei die merkwürdige URL nicht beachten. So etwas könnte man zum Beispiel in einem Skript oder einer Konfigurationsdatei für das Versionskontrollsystem verstecken. Ähnlich wie das Git-Team (CVE-2017-1000117) haben ebenfalls die Entwickler von SVN (CVE-2017-9800) und Mercurial (CVE-2017-1000116) das Problem bereits beseitigt. Nutzer sollten Updates für diese Tools deswegen umgehend installieren. Das Uralt-Versionskontrollsystem CVS soll ähnlich wie betroffen sein. Da dies aber seit bereits über zehn Jahren nicht weiterhin aktualisiert wird ist hier wohl mit keinem Sicherheitsupdate zu rechnen.

Zuletzt aktualisiert am Uhr





Kommentare


Anzeige