bk99.de entertain the web since 1997

Gefährliche SSH-Befehle: Kritische Sicherheitslücke in GitLab

Zusammenfassung

In GitLab steckte 2017 eine kritische Lücke (CVE-2017-12426), über die Angreifer beim Import eines Repositorys per URL Befehle auf dem Server ausführen konnten. Ein in die URL eingeschleustes Options-Flag ließ den Rest der Adresse als Befehl interpretieren. Betroffen waren die Versionen 7.9.0 bis 9.4.3, ähnliche Fehler hatte Recurity Labs zuvor in Git, Mercurial und anderen Versionskontrollsystemen gefunden.

Ideen

  • Eine URL, die mit einem Bindestrich beginnt, wird von Kommandozeilenprogrammen als Option gelesen.
  • Auf dem Server trifft der Fehler die ganze Installation, nicht nur einen einzelnen Nutzer.
  • Das Git-Kommando lief auf dem Server teils mit weitreichenden Rechten.
  • Korrekturen kamen für mehrere unterstützte Versionszweige gleichzeitig.

Einsichten

  • Das Weiterreichen von Nutzereingaben an Kommandozeilenprogramme ist eine klassische Injektionsquelle.
  • Serverdienste, die fremde Repositorys abrufen, brauchen dieselbe Vorsicht wie Clients, eher noch mehr.

Fakten

  • Korrigiert war die Lücke in 9.4.4, 9.3.10, 9.2.19, 9.1.10, 9.0.13 und 8.17.8.
  • Die Entwickler stuften die Lücke als kritisch ein.

Referenzen

Kritik

  • Die Meldung erklärt nicht, ob der Import für alle Nutzer oder nur für angemeldete Konten möglich war.

Empfehlungen

  • Übergib Nutzereingaben an Kommandozeilenprogramme nur nach einem „--“ als Optionsende.
  • Halte selbst gehostete GitLab-Instanzen auf einem unterstützten, aktuellen Versionszweig.

Originalartikel lesen →

Im Webarchiv suchen