Zum Inhalt springen
Neues Ebook: Holen Sie sich noch heute Ihr Exemplar des Handbuchs Unleash the Power of Censys Search ! | Jetzt herunterladen
Blogs

CVE-2022-2185: GitLab-Server

Zusammenfassung

  • Ein RCE wurde in GitLab Server entdeckt und CVE-2022-2185 zugeordnet
  • Der Exploit erfordert ein gültiges Konto, aber das Standardverhalten des Servers erlaubt die Erstellung neuer Konten mit Genehmigung des Administrators.
  • Censys Benutzer können GitLab-Server mit der folgenden Abfrage finden: Censys Search
  • Sehen Sie sich unser GitLab Dashboard an, das alle 24 Stunden aktualisiert wird.

Einführung

Am 1. Juli 2022 wurde CVE-2022-2185, ein kritisches Problem im GitLab-Server, veröffentlicht, das es einem authentifizierten Benutzer ermöglicht, eine Anfrage zu erstellen, die zu einer Remotecodeausführung (RCE) führt. Die folgenden Versionen von GitLab sind betroffen:

  • 14.0 (behoben in v14.10.5)
  • 15.0 (behoben in v15.0.4)
  • 15.1 (behoben in v15.1.1)

Es ist wichtig zu verstehen, dass ein Angreifer über eine gültige Anmeldung beim GitLab-Dienst verfügen muss, damit dieser Exploit erfolgreich sein kann. Der Standarddienst ermöglicht es Benutzern, sich anzumelden und mit ihren Anmeldedaten ein Konto zu erstellen. Außerdem muss ein Administrator ausdrücklich die Einstellung "Genehmigung des Administrators für neue Anmeldungen erforderlich" deaktivieren, damit der Benutzer ein Konto ohne vorherige Genehmigung durch einen Administrator erhält.

Es mag zwar unwahrscheinlich klingen, dass ein Angreifer einen Administrator dazu bringen kann, eine solche Anfrage zu genehmigen, aber es ist durchaus denkbar. Ein Remote-Benutzer kann den Angriff auch auf Systemen durchführen, deren Anmeldeinformationen geknackt, gestohlen, weitergegeben oder legal erlangt wurden. Wenn der Angriff erfolgreich ist, kann ein Benutzer auf Shell-Ebene Zugriff auf den zugrunde liegenden Host erhalten, auf dem der GitLab-Dienst läuft, und sich so freier in den Ressourcen des Opfers bewegen.

Identifizierung von GitLab-Instanzen

Mit denselben Methoden, mit denen wir die GitLab-Versionen für CVE-2021-22205 identifiziert haben, konnten wir feststellen, dass bestimmte Dateinamen, die im HTTP-Antwortkörper gefunden wurden, mit bestimmten Versionen von GitLab Server verknüpft werden konnten. Kurz gesagt, wenn ein neuer Build markiert wird, startet das Continuous Integration (CI)-System von GitLab neben vielen anderen Ereignissen einen Job, der statische Assets kompiliert. Dieser Job führt dazu, dass einige Dateien eine eindeutige Dateierweiterung haben, die die laufende Software lose der ursprünglichen Version zuordnen kann.

Beispielsweise scheint die Datei "public/assets/application.css" für jede Unterversion der Software einen eindeutig generierten Dateinamen zu haben, der eine 64 Byte lange ASCII-HEX-kodierte Zeichenkette enthält, die an das Ende des Dateinamens angehängt wird.

Bei unserer Analyse dieser speziellen Schwachstelle haben wir die folgenden Dateinamen im HTTP-Antwortkörper gefunden, die einer bestimmten Haupt- und Nebenversion von GitLab Server zugeordnet werden können:

 

Dateiname (zu finden im HTTP-Antwortkörper)
Abgebildete Version
application-90abf7746df5cb82bca9949de6f512de7cb10bec97d3f5103299a9ce38d5b159.css 14.0.*
application-5cd37ee959b5338b5fb48eafc6c7290ca1fa60e653292304102cc19a16cc25e4.css 14.1.*
application-4f233d907f30a050ca7e40fbd91742d444d28e50691c51b742714df8181bf4e7.css 14.2.[0-5]
application-57e83f1a3cf7c0fe3cf2357802306688dab60cf6a30d00e14e67826070db92de.css 14.2.[6-7]
application-a8bf3d1210afa873d9b9af583e944bdbf5ac7c8a63f6eccc3d6795802bd380d2.css 14.3.[0-3]
application-ba74062de4171df6109c4c96da1ebe2b538bb6cc7cd55867cbdfba44777700e1.css 14.3.[4-6]
application-50d9206410f00bb00cc8f95865ab291c718e7a026e7fdc1fc9db0480586c4bc9.css 14.4.0
application-775f130d36e9eb14cb67c6a63551511b87f78944cebcf6cdddb78292030341df.css 14.4.[1-5]
application-1832611738f1e31dd00a8293bbf90fce9811b3eea5b21798a63890dbc51769c8.css 14.5.[0-4]
application-8b78708916f28aa9e54dacf9c9c08d720837ce78d8260c36c0f828612567d353.css 14.6.[0-3]
application-cfa6748598b5e507db0e53906a7639e2c197a53cb57da58b0a20ed087cc0b9d5.css 14.7.[0-7]
application-1d840f0c4634c8813d3056f26cbab7a685d544050360a611a9df0b42371f4d98.css 14.8.[0-6]
application-003236d7e2c5f1f035dc8b67026d7583ee198b568932acd8faeac18cec673dfa.css 14.9.[0-4]
application-739a920f5840de93f944ec86c5a181d0205f1d9e679a4df1b9bf5b0882ab848a.css 14.10.*
application-1062bbba2e9b04e360569154a8df8705a75d9e17de1a3a9acd5bd20f000fec8b.css 15.0.[0-1]
application-a743f974bacea01ccc609dcb79247598bd2896f64377ce4a9f9d0333ab7b274e.css 15.0.[2-4]
application-7d0792b17e1d2ccac7c6820dda1b54020b294006d7867b7d78a05060220a0213.css 15.1.*

Es gibt einige Überschneidungen bei dem, was wir identifizieren können und was verwundbar ist und was nicht; zum Beispiel haben die Datei, die mit v14.10.1 (eine verwundbare Version von GitLab) und v.14.10.5 (die korrigierte Version) verbunden ist, denselben Dateinamen. Diese Überschneidung gilt auch für die Versionen 15.0.2 und 15.0.3, die denselben Dateinamen haben wie die korrigierte Version 15.0.4. Und schließlich hat die Version 15.1.0 denselben Dateinamen wie die feste Version(v15.1.1).

Zum Zeitpunkt der Erstellung dieses Berichts (24. Juli 2022) hatCensys 17.828 Hosts mit einer zugehörigen Version beobachtet, die für diesen Angriff anfällig sein könnten (ohne Hosts der Version 14.10 aufgrund der Versionsüberschneidung). Von diesen Hosts haben nur 6.759 die Erstellung neuer Konten aktiviert. Leider kann Censys nicht überprüfen, ob diese Hosts eine Admin-Genehmigung für neue Anmeldungen benötigen. Da diese Einstellung jedoch die Standardeinstellung ist, besteht eine hohe Wahrscheinlichkeit, dass eine Genehmigung erforderlich ist.

 

Land Hosts
China 3,646
Vereinigte Staaten 452
Südkorea 447
Deutschland 391
Russland 280

Geografisch gesehen befinden sich die meisten Hosts, auf denen eine passende Version von GitLab mit aktivierter Kontenerstellung läuft, in China (3 646 Hosts). Die Vereinigten Staaten folgen mit 452 Hosts, dicht gefolgt von Südkorea mit nur 447 Hosts.

 

Um die allgemeine Gemeinschaft bei der Überwachung dieser Schwachstellen zu unterstützen, hat Censys ein öffentliches GitLab-spezifisches interaktives Dashboard erstellt, das sowohl CVE-2022-2185 als auch CVE-2021-22205 verfolgt und alle 24 Stunden aktualisiert wird. Damit können Benutzer verschiedene Felder filtern, die sich auf GitLab beziehen (einschließlich der Frage, ob Statistiken zu GitLab-Servern mit offener Kontoerstellung angezeigt werden sollen). Censys wird in den kommenden Tagen neue Funktionen und Statistiken hinzufügen.

Details zur Schwachstelle

Für weitere Details über die tatsächliche Schwachstelle hat ein Forscher von Star Labs eine sehr ausführliche Analyse dieses speziellen Fehlers verfasst, die sich auf einige der ursprünglichen Arbeiten eines Kopfgeldjägers namens Vakzz auf Hackerone bezieht.

Was kann ich dagegen tun?

  • Aktualisieren Sie auf GitLab v14.10.5, v15.0.4 oder v15.1.1.
  • Censys ASM-Kunden haben jetzt Zugriff auf ein neues Risiko, das potenziell gefährdete GitLab-Dienste identifiziert.
  • Zumindest sollte ein Administrator die Funktion zur Erstellung neuer Konten unter der Verwaltungsoberfläche -> Einstellungen -> Allgemein -> "Anmeldebeschränkungen" deaktivieren und die Option "Anmeldung aktiviert" abwählen.
Lösungen für das Management von Angriffsflächen
Mehr erfahren