Zum Hauptinhalt Zur Navigation Zur Suche

Kein Patch für Gogs: Tausende self-hosted Git-Server sind angreifbar

Eine kritische Sicherheitslücke lässt Angreifer Gogs-Server per Pull-Request vollständig kompromittieren. Einen Patch gibt es bisher nicht.
/ Marc Stöckel
2 Kommentare Auf Google folgen (öffnet im neuen Fenster)
Zahlreiche Quellcode-Repositorys werden auf Gogs-Servern gehostet. (Bild: pexels.com / Markus Spiske)
Zahlreiche Quellcode-Repositorys werden auf Gogs-Servern gehostet. Bild: pexels.com / Markus Spiske

Forscher von Rapid7 haben eine gefährliche Sicherheitslücke in dem populären self-hosted Git-Service Gogs aufgedeckt. Angreifer können Gogs-Server damit durch einen speziell gestalteten Pull-Request vollständig kompromittieren. Die Lücke ist laut Blogbeitrag der Forscher(öffnet im neuen Fenster) noch ungepatcht. Admins müssen also selber Maßnahmen ergreifen, um ihre Systeme zu schützen.

Eine CVE-Kennung für die besagte Sicherheitslücke gibt es bisher nicht. Laut Rapid7 erreicht die Schwachstelle aber einen CVSS-Wert von 9,4 und damit einen kritischen Schweregrad. Für die Ausnutzung sollen weder Adminrechte noch eine Nutzerinteraktion erforderlich sein.

Ein Angreifer benötigt auf einem anvisierten Gogs-Server lediglich ein eigenes Nutzerkonto. Standardmäßig ist die Nutzerregistrierung bei Gogs aber offen, so dass ein entsprechendes Konto leicht zu beschaffen ist, sofern der zuständige Administrator die offene Registrierung nicht explizit deaktiviert hat.

Vollständige Kompromittierung möglich

Zudem benötigt der Angreifer laut Rapid7 Schreibzugriff auf ein beliebiges Repository mit aktivem Rebase-Merging. Dafür kann er entweder ein bestehendes Repository mit entsprechender Konfiguration nutzen oder sich ein eigenes erstellen und das Rebase-Merging in den Einstellungen aktivieren. Standardmäßig ist auch die Erstellung eigener Repos bei Gogs aktiv.

Sind die genannten Bedingungen erfüllt, so kann der Angreifer nach Angaben der Forscher "einen Pull-Request mit einem bösartigen Branch-Namen erstellen, der während des Merge-Vorgangs 'Rebase before merging' das Flag '--exec' in git rebase einfügt".

Die Folge ist eine mögliche Schadcodeausführung, durch die sich der Zielserver vollständig kompromittieren lässt. Laut Rapid7 kann der Angreifer daraufhin unter anderem alle dort gehosteten Repos lesen und manipulieren, hinterlegte Zugangsdaten abgreifen und weitere über das Netzwerk des Gogs-Servers erreichbare Systeme attackieren.

Was Admins tun können

Die Rapid7-Forscher behaupten, die Lücke schon am 17. März an die Gogs-Entwickler gemeldet und anschließend mehrfach bezüglich einer möglichen Korrektur und der Offenlegung nachgehakt zu haben. Einen Patch gibt es aber wohl bis heute nicht. Die aktuelle und am 19. Februar veröffentlichte(öffnet im neuen Fenster) Version 0.14.2 gilt als anfällig.

Admins wird als vorbeugende Maßnahme empfohlen, auf ihren Gogs-Servern nach Möglichkeit die offene Nutzerregistrierung sowie die Erstellung eigener Repos durch die Nutzer einzuschränken. Dafür sollte in der app.ini der Wert "DISABLE_REGISTRATION" auf true und "MAX_CREATION_LIMIT" auf 0 gesetzt werden.

Gogs ist eine beliebte Alternative zu Diensten wie Github und Gitlab und kann auf eigenen Servern gehostet werden. Das Projekt erreicht auf Github(öffnet im neuen Fenster) etwa 5.100 Forks und 47.600 Sterne. Gemäß den Scans der Shadowserver Foundation(öffnet im neuen Fenster) sind weltweit aktuell rund 2.400 Gogs-Server direkt über das Internet erreichbar, davon knapp 100 aus Deutschland. In internen Netzwerken dürfte es aber noch mehr Gogs-Server geben, die aus dem Internet allenfalls über eine VPN-Verbindung zugänglich sind.


Relevante Themen