Git, Mercurial, SVN: Versionskontrollsysteme über SSH-Befehle angreifbar

So gut wie alle Versionskontrollsysteme lassen sich über einen Trick mit einer merkwürdigen SSH-URL dazu bringen, fast beliebige Befehle auszuführen. Patches stehen bereit.

In Pocket speichern vorlesen Druckansicht 48 Kommentare lesen
Git, Mercurial, SVN: Versionskontrollsysteme über SSH-Befehle angreifbar

(Bild: Fabian A. Scherschel, heise online)

Lesezeit: 2 Min.
Von
  • Fabian A. Scherschel

Eine Reihe der beliebtesten Versionskontrollsysteme (Git, Mercurial und Apache Subversion / SVN) sind angreifbar, wenn man es schafft, dem Anwender einen speziellen Hostnamen für den SSH-Befehl unterzuschieben. 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, dass 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, sondern 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 auch die Entwickler von SVN (CVE-2017-9800) und Mercurial (CVE-2017-1000116) das Problem bereits beseitigt. Nutzer sollten Updates für diese Tools deshalb umgehend installieren. Das Uralt-Versionskontrollsystem CVS soll ebenfalls betroffen sein. Da dies aber seit bereits über zehn Jahren nicht mehr aktualisiert wird, ist hier wohl mit keinem Sicherheitsupdate zu rechnen. (fab)