CVE-2021-39935
GitLab Community and Enterprise Editions Server-Side Request Forgery (SSRF) Vulnerability
Beschreibung
CVE-2021-39935 ist eine Server-Side Request Forgery (SSRF) Schwachstelle in GitLab Community Edition (CE) und Enterprise Edition (EE), die nicht autorisierte externe Benutzer ueber die CI Lint API ausnutzen koennen. Die Schwachstelle betrifft alle Versionen ab 10.5 und erhaelt einen CVSS v3.1-Score von 6.8 (MEDIUM) mit einem veraenderten Scope (S:C), was die Moeglichkeit eines Cross-Boundary-Angriffs signalisiert.
Die CISA hat CVE-2021-39935 in den KEV-Katalog aufgenommen, mit einer Behebungsfrist bis zum 24. Februar 2026. Der Ransomware-Status wird als Unknown gefuehrt. Besonders bemerkenswert ist der extrem hohe EPSS-Score von 54.31 % (98.0. Perzentil), der auf massive aktive Ausnutzung hindeutet. Gepatchte Versionen sind 14.3.6, 14.4.4 und 14.5.2.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:NIm Rechner öffnenBetroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| gitlab | gitlab | >= 10.5.0, < 14.3.6; >= 14.4.0, < 14.4.4; >= 14.5.0, < 14.5.2 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Referenzen
- https://gitlab.com/gitlab-org/cves/-/blob/master/2021/CVE-2021-39935.json(Third Party Advisory)
- https://gitlab.com/gitlab-org/gitlab/-/issues/346187(Issue Tracking, Vendor Advisory)
- https://hackerone.com/reports/1236965(Permissions Required, Third Party Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-39935(US Government Resource)
Schwachstellentyp
CWE-918: Server-Side Request Forgery (SSRF)
CVE-2021-39935 basiert auf CWE-918 (Server-Side Request Forgery), einer Schwachstellenklasse, bei der ein Angreifer den Server dazu bringt, HTTP-Anfragen an beliebige interne oder externe Ziele zu senden. Der Server fungiert als Proxy und ermoeglicht dem Angreifer den Zugriff auf Ressourcen, die normalerweise nicht erreichbar waeren.
Im Fall von GitLab ermoeglicht die CI Lint API externen Benutzern, YAML-Konfigurationen zu validieren, die Remote-Includes enthalten koennen. Durch Manipulation dieser Includes kann der Angreifer den GitLab-Server dazu bringen, Anfragen an interne Dienste, Cloud-Metadaten-Endpunkte oder andere geschuetzte Ressourcen zu senden. Der veraenderte Scope (S:C) im CVSS-Vektor bestaetigt, dass der Angreifer ueber die Sicherheitsgrenzen des GitLab-Servers hinaus auf andere Systeme zugreifen kann. Mehr erfahren
Auswirkungsanalyse
Die Auswirkungen von CVE-2021-39935 konzentrieren sich primaer auf die Vertraulichkeit, mit einem hohen Vertraulichkeitsverlust bei veraendertem Scope. Vertraulichkeit: Ueber die SSRF-Schwachstelle kann der Angreifer auf interne Netzwerkressourcen zugreifen, die vom GitLab-Server erreichbar sind. Dies umfasst typischerweise Cloud-Metadaten-Endpunkte (z.B. AWS IMDSv1 unter 169.254.169.254), interne Dienste, Datenbanken und andere Systeme im internen Netzwerk. Der veraenderte Scope (S:C) und hohe Vertraulichkeitsverlust (C:H) reflektieren die Moeglichkeit, Sicherheitsgrenzen zu ueberschreiten.
Integritaet und Verfuegbarkeit: Die Bewertung zeigt keine direkten Auswirkungen auf Integritaet (I:N) oder Verfuegbarkeit (A:N). Allerdings koennen durch SSRF erlangte Informationen wie Cloud-Zugangsdaten oder interne Service-Tokens fuer weitergehende Angriffe genutzt werden, die dann sehr wohl Integritaets- und Verfuegbarkeitsauswirkungen haben koennen. Der extrem hohe EPSS-Score von 54.31 % (98.0. Perzentil) zeigt, dass diese Schwachstelle zu den am haeufigsten ausgenutzten weltweit gehoert, obwohl sie bereits seit 2021 bekannt ist. Die hohe Komplexitaet (AC:H) wird durch die massive Verbreitung von GitLab-Installationen kompensiert.
Exploit-Reifegrad
CVE-2021-39935 wurde von der CISA in den KEV-Katalog aufgenommen, mit einer Behebungsfrist bis zum 24. Februar 2026 -- bemerkenswert fuer eine Schwachstelle aus dem Jahr 2021. Der Ransomware-Status wird als Unknown gefuehrt. Der EPSS-Score von 54.31 % (98.0. Perzentil) ist einer der hoechsten Werte und zeigt massive aktive Ausnutzung.
Die Schwachstelle wurde ueber HackerOne gemeldet und von GitLab in einem Security Advisory dokumentiert. Details sind auch in der CVE-Datenbank von GitLab verfuegbar. Die Tatsache, dass die CISA diese bereits seit 2021 bekannte Schwachstelle erst jetzt in den KEV-Katalog aufnimmt, deutet darauf hin, dass die Ausnutzung in juengster Zeit zugenommen hat. SSRF-Schwachstellen in CI/CD-Plattformen sind besonders wertvoll fuer Angreifer, da sie Zugang zu Cloud-Infrastruktur und Build-Geheimnissen ermoeglichen.
Behebung
-
GitLab auf gepatchte Version aktualisieren: Aktualisieren Sie auf GitLab 14.3.6, 14.4.4, 14.5.2 oder eine neuere Version. Wenn Sie eine aeltere Version als 14.3 verwenden, ist ein groesseres Upgrade erforderlich. Konsultieren Sie das GitLab Security Advisory fuer spezifische Update-Pfade.
-
CI Lint API Zugriff einschraenken: Ueberpruefen Sie die Zugriffsberechtigungen fuer die CI Lint API und schraenken Sie den Zugriff auf authentifizierte und autorisierte Benutzer ein. Deaktivieren Sie den oeffentlichen Zugriff auf die CI-Lint-Funktionalitaet, wenn dieser nicht benoetigt wird.
-
Outbound-Netzwerkverkehr des GitLab-Servers einschraenken: Implementieren Sie Egress-Firewall-Regeln, die den ausgehenden Netzwerkverkehr des GitLab-Servers auf bekannte und notwendige Ziele beschraenken. Blockieren Sie insbesondere den Zugriff auf Cloud-Metadaten-Endpunkte (169.254.169.254) und interne Netzwerkbereiche, die nicht fuer den GitLab-Betrieb erforderlich sind.
-
Cloud-Metadaten-Schutz aktivieren: Wenn GitLab in einer Cloud-Umgebung laeuft, aktivieren Sie IMDSv2 (AWS) oder aequivalente Schutzmechanismen bei anderen Cloud-Anbietern. IMDSv2 erfordert Token-basierte Authentifizierung und schuetzt effektiv vor SSRF-basierten Metadaten-Zugriffen.
-
Zugangsdaten und Geheimnisse rotieren: Wenn die verwundbare Version ueber einen laengeren Zeitraum exponiert war, rotieren Sie alle Zugangsdaten und Geheimnisse, die ueber den GitLab-Server erreichbar waren, einschliesslich Cloud-Provider-Zugangsdaten, Service-Tokens und CI/CD-Variablen.
Technische Details
CVE-2021-39935 betrifft GitLab CE/EE in allen Versionen ab 10.5 bis einschliesslich 14.3.5, 14.4.0-14.4.3 und 14.5.0-14.5.1. Der CVSS-Vektor CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N beschreibt einen Netzwerkangriff (AV:N) mit hoher Komplexitaet (AC:H), der keine Authentifizierung (PR:N) und keine Benutzerinteraktion (UI:N) erfordert, aber einen veraenderten Scope (S:C) aufweist.
Die Schwachstelle liegt in der CI Lint API, die zur Validierung von CI/CD-Konfigurationsdateien (.gitlab-ci.yml) dient. GitLab erlaubt in CI-Konfigurationen die Verwendung von Remote-Includes (include: remote:), die eine URL zu einer externen Konfigurationsdatei angeben. Die CI Lint API verarbeitet diese Includes serverseitig, indem der GitLab-Server die angegebene URL abruft. Ein Angreifer kann diese Funktionalitaet missbrauchen, um den Server zur Ausfuehrung beliebiger HTTP-Anfragen zu bewegen.
Der veraenderte Scope (S:C) ist hier entscheidend: Der Angreifer greift nicht nur GitLab selbst an, sondern nutzt GitLab als Proxy, um auf andere Systeme zuzugreifen, die vom GitLab-Server erreichbar sind. In Cloud-Umgebungen ermoeglicht dies typischerweise den Zugriff auf den Instance Metadata Service (IMDS), der temporaere Cloud-Zugangsdaten bereitstellt. Die hohe Komplexitaet (AC:H) ergibt sich aus der Notwendigkeit, die SSRF-Antwort korrekt zu interpretieren und moeglicherweise Schutzmechanismen wie URL-Filter zu umgehen.
Häufig gestellte Fragen
Warum wird eine Schwachstelle aus 2021 erst jetzt in den KEV-Katalog aufgenommen?
Die Aufnahme in den KEV-Katalog erfolgt basierend auf nachgewiesener aktiver Ausnutzung. Die Tatsache, dass CVE-2021-39935 erst jetzt gelistet wird, deutet darauf hin, dass die Ausnutzung in juengster Zeit zugenommen hat. Viele GitLab-Instanzen laufen noch auf aelteren, ungepatchten Versionen, was diese Schwachstelle weiterhin relevant macht.
Was kann ein Angreifer mit einer SSRF-Schwachstelle in GitLab erreichen?
Ueber die SSRF-Schwachstelle kann der Angreifer den GitLab-Server als Proxy nutzen, um auf interne Netzwerkressourcen zuzugreifen. In Cloud-Umgebungen ist der haeufigste Angriff der Zugriff auf den Metadaten-Dienst, um temporaere Cloud-Zugangsdaten zu stehlen. Diese koennen dann fuer den Zugriff auf Cloud-Ressourcen wie S3-Buckets, Datenbanken oder andere Dienste verwendet werden.
Welche GitLab-Versionen sind betroffen?
Betroffen sind alle GitLab CE/EE Versionen ab 10.5. Gepatchte Versionen sind 14.3.6, 14.4.4 und 14.5.2. Alle neueren Versionen enthalten den Fix ebenfalls. Wenn Ihre GitLab-Installation auf einer Version vor 14.3.6 laeuft, sollte ein sofortiges Upgrade durchgefuehrt werden.
Warum hat die Schwachstelle trotz MEDIUM-Bewertung einen so hohen EPSS-Score?
Der EPSS-Score von 54.31 % reflektiert die tatsaechliche Ausnutzungshaeufigkeit, nicht den theoretischen Schweregrad. SSRF-Schwachstellen in weit verbreiteten Plattformen wie GitLab sind fuer Angreifer extrem wertvoll, da sie Zugang zu internen Netzwerken und Cloud-Infrastruktur bieten. Die MEDIUM-CVSS-Bewertung unterschaetzt den praktischen Risikofaktor.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.