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.
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?

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.
Die Lage in Zahlen
Der Ablauf
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
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
- Alpine LinuxGitLab security incident: attempted exploitation of CVE-2026-97229
- GitLabGitLab Critical Patch Release: 19.4.2, 19.3.5, 19.2.8
- RubyRegexp compilation fixes related to GitLab’s CVE-2026-89078, CVE-2026-93577, CVE-2026-97229 and CVE-2026-110264
- Amtsblatt der EUVerordnung (EU) 2016/679, Datenschutz-Grundverordnung, Artikel 33
- Gesetz über das Bundesamt für Sicherheit in der Informationstechnik§ 30 Risikomanagementmaßnahmen
Mehr Newshunger?
- GitLab: Kritische Sicherheitslücke trifft alle Versionen seit 2014
- GitLab-Lücke im AI Gateway: Über präparierte Agenten-Flows führen Angreifer Befehle aus
- GitLab-Lücke per E-Mail: Eine öffentliche Issue-Adresse genügt für Code auf dem Main-Branch
- GitLab-Lücke mit CVSS 10,0: Die Commit-API prüft die Anmeldung nicht
- HTTP2Shell: Lücke in Googles Brotli trifft Node.js, Python und weitere Software
- Kompromittiertes LiteLLM 1.107.0 auf PyPI stahl Zugangsdaten und installierte eine Hintertür
