Alert!

Bitte patchen! Security-Update behebt kritische Schwachstelle in GitLab

Eine Reihe von Schwachstellen ermöglichen es in GitLab, CI-Pipelines als anderer User zu starten oder Cross-Site-Scripting über Commit Notes einzuschleusen.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Rotes Warndreieck schwebt im Raum

(Bild: JLStock/Shutterstock.com)

Lesezeit: 4 Min.
Inhaltsverzeichnis

Die Betreiber von GitLab haben kritische Patch-Releases für die Versionsverwaltungsplattform veröffentlicht. Die in den Versionen 17.1.1, 17.0.3 und 16.11.5 behobenen Schwachstellen betreffen sowohl die Community Edition (CE) als auch die Enterprise Edition (EE). Wer den Service auf GitLab.com verwendet, arbeitet bereits mit der aktualisierten Version.

Wie bei kritischen Schwachstellen üblich, enthalten die Release Notes die dringende Empfehlung, die aktuelle Version möglichst bald zu installieren.

Die kritische Sicherheitslücke trägt in der Mitre-Datenbank den CVE-Eintrag (Common Vulnerabilities and Exposures) CVE-2024-5655. Beim Schreiben dieser Meldung funktionierten die Links zu den detaillierten Beschreibungen der Schwachstelle bei Mitre und der National Vulnerability Database (NIST) nicht: Sie führten in die 404-Leere, beziehungsweise bei HackerOne zum Hinweis, dass der Report noch nicht vorhanden ist.

Die Schwachstelle ist als Improper Access Control (CWE-284) eingeordnet und ermöglicht, eine CI-Pipeline als ein anderer User auszulösen. Auch wenn GitLab sie mit dem CVSS-Wert 9,6 von 10 als kritisches Risiko einstuft, gibt es wohl keine Anzeichen dafür, dass Angreifer sie bereits aktiv ausgenutzt haben.

Die Ursache der Schwachstelle lässt sich indirekt aus dem Breaking Change ablesen, der mit dem Patch verbunden ist: Offenbar erfolgt der Zugriff über das Re-Targeting beim Merge-Prozess, der bisher automatisch eine CI-Pipeline anstoßen konnte. Wenn beispielsweise folgenden zwei Merge Requests gleichzeitig anstehen:

  1. Merge x into main
  2. Merge y into x,

kann zunächst der erste Merge erfolgen und anschließend der zweite direkt über Re-Targeting in den main-Branch einfließen, der inzwischen das ursprünglich Ziel x enthält.

Mit dem Patch-Release stößt GitLab beim Re-Targeting von Merge-Requests nicht mehr automatisch eine CI-Pipeline an, sondern User müssen sie manuell starten. Außerdem deaktiviert der Patch die GraphQL-Authentifizierung über CI_JOB_TOKEN.

Mit einem CVSS-Score von 8.7 stuft GitLab eine weitere Schwachstelle als hohes Risiko ein: CVE-2024-4901 ermöglicht es, Cross-Site-Scripting (XSS), genauer Stored XSS, also persistent auf dem Zielserver liegender Code, beim Import über Commit Notes in ein Projekt einfließen zu lassen.

Ebenfalls als hochriskant (CVSS-Wert 8.1) gilt die Schwachstelle CVE-2024-4994 (hier fehlen ebenfalls Detailinfos), die Angreifern ermöglicht, über Cross-Site Request Forgery (CSRF) beliebige GraphQL-Mutationen über GitLabs GraphQL-API auszuführen.

Detaillierte Beschreibungen zu den genannten sowie elf weiteren Schwachstellen lassen sich den Release Notes zu den Patch-Releases bei GitLab entnehmen.

Ein schnelles Update ist in jedem Fall empfehlenswert, wobei offenbar nicht alle, die für GitLab-Server verantwortlich sind, den Hinweis darauf ernst nehmen. Im Januar veröffentlichten IT-Forscher eine Untersuchung, in der sie weltweit 5379 im Netz erreichbare GitLab-Server mit einer Schwachstelle gefunden haben, für die zum Zeitpunkt der Untersuchung bereits seit zwei Wochen ein Patch verfügbar war.

Die Lücke aus dem Jahr 2023 mit dem Eintrag CVE-2023-7028 erlaubte es Angreifern, sich Mails zum Rücksetzen eines Passworts an nicht verifizierte E-Mail-Adressen schicken zu lassen und so beliebige Konten zu übernehmen. Deutschland war bei der Zahl der ungepatchten GitLab-Server unrühmlich auf Platz 2 gelandet und lag mit 730 Systemen hinter den USA (964) und knapp vor Russland (721).

(rme)