Artikel teilen

Eine Woche nach dem Patch griff ein Angreifer mit einem frisch angelegten Konto die GitLab-Instanz von Alpine Linux an. Das spätere Update auf GitLab 19.3.6 half nicht, weil die Korrektur in GitLabs mitgeliefertem Ruby steckt.

Ein Klick · kostenlosDr. Web bei Google bevorzugenMarkieren Sie drweb.de als bevorzugte Quelle. Dann sehen Sie unsere Artikel öfter unter den Top-Meldungen.Jetzt hinzufügen

„Der Angriff hätte fast funktioniert“, schreibt das Team von Alpine Linux in seinem Vorfallsbericht vom 28. Oktober.[1] Spuren eines gelungenen Einbruchs fand das Team nicht, ausschließen kann Alpine ihn trotzdem nicht. Alpine hat GitLab deshalb neu aufgebaut und alle Passwörter zurückgesetzt.

Auf einen Blick

Das Wichtigste in Kürze

  • Am 20. und 21. Oktober schickte der Angreifer präparierte CI-Konfigurationen an eine Instanz ohne den Patch vom 12. Oktober.
  • Ruby hat die Fehler am 23. Oktober in 4.0.9, 3.4.12 und 3.3.13 behoben, ohne eigene CVE-Nummern.
  • Die Signaturschlüssel für Pakete und Releases lagen nie auf dem GitLab-Server.

Warum half das Update nicht?

Serverschrank mit Vorhängeschloss und Anhänger „Aktualisiert“
Kritische Sicherheitslücke CVE-2026-97229 (CVSS 10,0) in Ruby-Bibliothek Onigmo. GitLab patcht Regex-Engine in offiziellen Paketen, erwähnt Update in Fehlerkorrektionen statt Sicherheitshinweisen

Die kritische Sicherheitslücke CVE-2026-97229 erreicht im Bewertungssystem CVSS den Höchstwert 10,0 und steckt in Onigmo, der Bibliothek für reguläre Ausdrücke in Ruby. GitLab patcht dafür das Ruby in seinen offiziellen Paketen. In den Versionshinweisen vom 12. Oktober steht dieser Ruby-Patch nur in der Liste der Fehlerkorrekturen, nicht bei der Lücke.[2] Alpine baut sein GitLab-Image selbst, mit einem Ruby ohne diesen Patch. Die neue Version brachte dort keinen Schutz.[1]

Hinzu kam ein Versehen: Am 13. Oktober spielte das Team 19.3.4 ein statt der korrigierten 19.3.5. Beim Angriff stürzten GitLab-Prozesse achtmal ab, viermal kam der Exploit teilweise voran und scheiterte dann am nächsten Schritt. Zudem lud er das GitLab-Image von Alpine herunter, laut Alpine wohl, um den Exploit auf genau diesen Build abzustimmen.[1]

Welche Ruby-Anwendungen sind noch betroffen?

Betroffen ist laut Ruby jede Anwendung, die einen regulären Ausdruck aus einer Zeichenkette kompiliert, die ein Angreifer vorgeben kann. Eine Zeitgrenze per Regexp.timeout schützt nicht.[3] Bei der vierten Onigmo-Lücke in GitLab war am 22. Oktober noch offen, ob auch andere Ruby-Anwendungen betroffen sind.

Eigene CVE-Nummern hat Ruby vorerst nicht beantragt. Das Projekt stuft das Kompilieren fremder Muster seit Langem als unsicher ein und will erst klären, ob solche Fehler als Schwachstelle in Ruby gelten.[3] Für Ruby selbst fehlt damit ein Eintrag, an dem sich ein Abgleich installierter Versionen festmachen ließe. Schon im Juli lief bei GitLab ein entscheidender Patch ohne CVE als Routine-Update durch.

Der Angriff auf GitLab bei Alpine Linux
Vom Patch bis zum Neuaufbau in 16 Tagen

Die Lage in Zahlen

10,0
von 10 Punkten im CVSS für CVE-2026-97229, die Lücke in Rubys Bibliothek Onigmo
8 Abstürze
von GitLab-Prozessen beim Angriff, in 4 Fällen scheiterte der Exploit erst auf halbem Weg
45 Build-Server
dienten Alpine als Referenz, um Pakete und Releases auf Manipulation zu prüfen
Keine CVE
beantragte Ruby bisher für die eigenen Korrekturen

Der Ablauf

12.10.2026
GitLab-Patch
Korrektur steckt im mitgelieferten Ruby der offiziellen Pakete
20.–21.10.
Angriff
Über ein neues Konto gehen präparierte CI-Konfigurationen an Version 19.3.4
22.10.2026
Update ohne Wirkung
GitLab 19.3.6 läuft im eigenen Image weiter mit ungepatchtem Ruby
23.10.2026
Ruby-Korrektur
Versionen 4.0.9, 3.4.12 und 3.3.13 schließen die Fehler
28.10.2026
Neuaufbau fertig
Neue Schlüssel für GitLab, alle Passwörter zurückgesetzt

Warum baute Alpine trotzdem alles neu auf?

Ein gelungener Angriff hätte laut Alpine weder einen Absturz noch einen Eintrag im Zugriffsprotokoll des Webservers hinterlassen. Ausgehende Verbindungen zeichneten weder Alpine noch der Hosting-Anbieter auf.[1] Im schlimmsten Fall lagen Namen, E-Mail-Adressen, Passwort-Hashes, CI/CD-Variablen und Runner-Tokens offen. Die Pakete glich das Team mit Aufzeichnungen außerhalb von GitLab ab, darunter alle 45 Build-Server.[1]

GitLabs Patch steckt im mitgelieferten Ruby, ein eigenes Image bleibt trotz neuer Versionsnummer angreifbar.

Markus Seyfferth, Chefredakteur Dr. Web
Zitat teilen

Künftig will Alpine kritische GitLab-Updates binnen eines Tages einspielen, jede Version auf Ruby-Patches prüfen und Releases über signierte Tags unabhängig von GitLab prüfbar machen.[1] Wie bei PHP2Shell lag die Lücke in der Programmiersprache, nicht in der Anwendung.

Was sollten Betreiber in Deutschland jetzt tun?

Auch der Datenschutz spielt eine Rolle: Nach Artikel 33 DSGVO melden Verantwortliche eine Datenpanne möglichst binnen 72 Stunden der Aufsichtsbehörde, außer sie birgt voraussichtlich kein Risiko.[4] Von wichtigen Einrichtungen verlangt das BSI-Gesetz zudem ein Schwachstellenmanagement.[5]

  • Ruby prüfen: Eigene Images und Installationen aus dem Quellcode brauchen Ruby 4.0.9, 3.4.12 oder 3.3.13.
  • Image neu herunterladen: Erst alpinelinux/gitlab:19.3.6 vom 27. Oktober enthält Ruby 3.3.13.[1]
  • Protokolle durchsuchen: GitLab hat sechs Erkennungsregeln veröffentlicht, darunter eine für abgestürzte Onigmo-Prozesse.[2]
  • Passwörter ändern: Alpine beobachtet Anmeldeversuche mit Passwörtern aus fremden Datenlecks.[1]

Mit einer Liste aller selbst gebauten Images samt Ruby-Version sparen Sie sich beim nächsten Patch die Suche. Weitere Schritte sammeln die Cybersecurity-Grundlagen für KMU.

Quellen

5 Quellen anzeigenQuellen ausblenden
  1. Alpine LinuxGitLab security incident: attempted exploitation of CVE-2026-9722928.10.2026
  2. GitLabGitLab Critical Patch Release: 19.4.2, 19.3.5, 19.2.812.10.2026
  3. RubyRegexp compilation fixes related to GitLab’s CVE-2026-89078, CVE-2026-93577, CVE-2026-97229 and CVE-2026-11026423.10.2026
  4. Amtsblatt der EUVerordnung (EU) 2016/679, Datenschutz-Grundverordnung, Artikel 33
  5. Gesetz über das Bundesamt für Sicherheit in der Informationstechnik§ 30 Risikomanagementmaßnahmen

Mehr Newshunger?

4,6 10 Bewertungen

Wie hat Ihnen dieser Artikel gefallen?