Kompilator wyrażeń regularnych stał się furtką

GitLab naprawił 12 października CVE-2026-97229, przepełnienie liczby całkowitej z oceną CVSS 10,0 w kompilatorze obsługującym wyrażenia regularne w konfiguracji potoków CI/CD. W pewnych warunkach, jak podaje komunikat GitLaba, nieuwierzytelniony użytkownik mógł uruchomić dowolny kod na serwerze GitLab przez spreparowane wyrażenie regularne w konfiguracji CI/CD.

Komunikat nie opisuje tych warunków, a żaden z trzech raportów, które czytaliśmy, też tego nie robi. Badacz posługujący się pseudonimem joaxcar zgłosił lukę przez program bug bounty GitLaba na HackerOne. GitLab.com działa już na wersji naprawionej, klienci GitLab Dedicated nic nie muszą robić, ale administratorzy instancji zarządzanych samodzielnie muszą zaktualizować od razu. Według heise do 13 października GitLab nie zgłosił żadnych ataków.

Linia wydańPodatnaNaprawiona w
GitLab 19.2Przed 19.2.819.2.8
GitLab 19.3Przed 19.3.519.3.5
GitLab 19.4Przed 19.4.219.4.2

W tym samym wydaniu naprawiono trzy luki o wysokiej wadze. CVE-2026-92883 (8,7) to luka cross-site scripting. CVE-2026-16301 (8,5) pozwala użytkownikowi z rolą Developer uruchamiać potoki na chronionych gałęziach. CVE-2026-14814 (8,2) może zatruć odpowiedzi w pamięci podręcznej i potencjalnie ujawnić chronione zmienne środowiskowe. Heise liczy łącznie pięć luk o wysokiej wadze.

Trzy krytyczne luki GitLaba w kilka tygodni

CVE-2026-97229 to trzecia krytyczna luka GitLaba w ostatnich tygodniach, a wrześniowa pokazała, jak szybko działają atakujący.

CVECVSSKomponentZgłoszone skutki
CVE-2026-8570610,0GitLab CE i EEOdczyt wrażliwych danych, takich jak dane logowania i sekrety, bez uwierzytelnienia, z sondowaniem w ciągu godzin od ujawnienia i wpisem CISA dzień po poprawce
CVE-2026-909709,9AI GatewayUwierzytelniony użytkownik z dostępem do Duo Agent Platform mógł wyjść z piaskownicy szablonów promptów i uruchamiać polecenia
CVE-2026-9722910,0Kompilator wyrażeń regularnych CI/CDWykonanie kodu bez uwierzytelnienia, bez zgłoszonych ataków do 13 października

Po wrześniowej luce CISA dała amerykańskim agencjom federalnym trzy dni na zabezpieczenie systemów. Od listopada 2021 wskazała pięć luk GitLaba wykorzystanych w atakach, jedną z nich przez grupy ransomware. Do 13 października nie zgłoszono ataków na nową lukę, ale tempo z września jest tym, pod co trzeba planować.

Dlaczego serwer potoków jest wart ataku

Serwer CI/CD stoi między kodem źródłowym a produkcją, dlatego wykonanie na nim kodu jest dla atakującego warte więcej niż na większości serwerów firmowych.

Zwykle przechowuje sekrety, których potoki potrzebują do budowania, testowania i wdrażania, takie jak tokeny dostępu i klucze wdrożeniowe, i może zmienić to, co trafia do klientów. GitLab mówi, że ma ponad 30 milionów zarejestrowanych użytkowników, a z jego platformy korzysta ponad 50 procent firm z listy Fortune 100. Samodzielny hosting wymienia wygodę na kontrolę nad tym, gdzie leżą twój kod i dane, i przenosi na ciebie obowiązek łatania. Może to być świadomy wybór zespołów z wymogami rezydencji danych, i właśnie dlatego dzień łatek dostawcy staje się twoim terminem.

Plan na 72 godziny dla zespołów zarządzających samodzielnie

Potraktuj to jako zadanie na 72 godziny dla każdej instancji dostępnej z internetu i zacznij od sprawdzenia wersji.

Po pierwsze odczytaj zainstalowaną wersję i porównaj ją z 19.2.8, 19.3.5 i 19.4.2, a potem potwierdź dokładne numery kompilacji w komunikacie GitLaba. Po drugie zaplanuj aktualizację w ciągu 72 godzin, zaczynając od każdej instancji dostępnej z internetu. Po trzecie do tego czasu ogranicz, kto może dotrzeć do serwera i kto może edytować pliki konfiguracji CI/CD.

Po czwarte, jeśli nie możesz wykluczyć ekspozycji, zmień sekrety przechowywane jako zmienne potoków, gdy łatka zostanie wdrożona. Po piąte zasubskrybuj komunikaty bezpieczeństwa GitLaba, żeby następny trafił do człowieka tego samego dnia. 72 godziny to nasze proponowane okno, a nie termin narzucony przez GitLaba.