Krytyczna luka w GitLab umożliwia niezautoryzowane RCE w wydaniach z ostatnich 12 lat - Security Bez Tabu

Krytyczna luka w GitLab umożliwia niezautoryzowane RCE w wydaniach z ostatnich 12 lat

Cybersecurity news

Wprowadzenie do problemu / definicja

GitLab opublikował poprawki dla krytycznej podatności CVE-2026-110264, której nadano maksymalną ocenę CVSS 10.0. Luka dotyczy instancji self-managed i w określonych warunkach może pozwolić niezautoryzowanemu atakującemu na zdalne wykonanie dowolnego kodu na serwerze aplikacyjnym.

Źródłem problemu jest błąd typu integer overflow w mechanizmie kompilacji specjalnie spreparowanych wyrażeń regularnych. Z perspektywy bezpieczeństwa oznacza to ryzyko naruszenia pamięci i przejęcia kontroli nad procesem obsługującym żądania.

W skrócie

  • Podatność nie wymaga uwierzytelnienia.
  • Skutkiem może być zdalne wykonanie kodu na serwerze GitLab.
  • Problem obejmuje bardzo szeroki zakres wersji GitLab CE/EE, od linii 7.0 po najnowsze wydania sprzed poprawek.
  • GitLab.com został już zabezpieczony, ale administratorzy środowisk self-managed muszą zaktualizować systemy samodzielnie.
  • Producent wydał poprawki również dla wielu starszych gałęzi wersji.

Kontekst / historia

Nowa luka wpisuje się w serię problemów bezpieczeństwa związanych z obsługą wyrażeń regularnych w GitLab. W poprzednich miesiącach producent publikował już aktualizacje usuwające inne podatności tej klasy, jednak najnowszy przypadek jest znacznie poważniejszy ze względu na brak wymogu logowania i wyjątkowo szeroki zakres podatnych wersji.

Według udostępnionych informacji źródłem problemu jest silnik wyrażeń regularnych Onigmo, dostarczany wewnątrz pakietów GitLab. Taki model dystrybucji sprawia, że jedna wada w komponencie zależnym może wpływać na wiele generacji produktu, także w środowiskach utrzymywanych przez lata bez dużych zmian architektonicznych.

Analiza techniczna

CVE-2026-110264 to podatność typu integer overflow w kompilatorze wyrażeń regularnych. W praktyce oznacza to błąd w niskopoziomowej logice przetwarzania danych wejściowych, który może prowadzić do nieprawidłowych obliczeń rozmiarów buforów, alokacji pamięci lub obsługi struktur wewnętrznych podczas parsowania wzorca regex.

Jeżeli atakujący dostarczy odpowiednio spreparowane dane wejściowe, może doprowadzić do stanu, w którym awaria procesu przekształci się w możliwość wykonania kontrolowanego kodu. To szczególnie groźne w przypadku platformy takiej jak GitLab, ponieważ serwer przechowuje kod źródłowy, sekrety CI/CD, tokeny oraz dane o procesach wdrożeniowych.

Zakres podatnych wersji jest wyjątkowo szeroki. Aktualizacji wymagają instancje działające na gałęziach 19.5 przed 19.5.1, 19.4 przed 19.4.3, 19.3 przed 19.3.6, 19.2 przed 19.2.9, 19.1 przed 19.1.9, 19.0 przed 19.0.10 oraz wszystkie wersje od 7.0 do 18.11 przed 18.11.13.

Istotne znaczenie ma również aspekt operacyjny. Część zespołów mogła uznać wcześniejsze październikowe aktualizacje za wystarczające, tymczasem producent opublikował kolejny zestaw poprawek obejmujący szerszy zakres zagrożeń. Oznacza to konieczność ponownej weryfikacji stanu środowiska, nawet jeśli system był niedawno patchowany.

GitLab udostępnił także reguły detekcyjne pomocne przy identyfikacji prób eksploatacji. Obejmują one m.in. symptomy awarii natywnych workerów oraz nietypowe zachowania związane z renderowaniem, co może stanowić cenne wsparcie dla zespołów monitoringu i reagowania.

Konsekwencje / ryzyko

Udane wykorzystanie luki może doprowadzić do przejęcia serwera GitLab, a w konsekwencji do kompromitacji repozytoriów, sekretów, tokenów dostępowych, artefaktów buildów i danych użytkowników. W środowiskach DevSecOps skutki mogą być znacznie szersze niż przejęcie pojedynczego hosta.

GitLab jest centralnym elementem wielu procesów wytwarzania oprogramowania. Kompromitacja tej platformy może umożliwić modyfikację pipeline’ów, wstrzyknięcie złośliwego kodu do łańcucha dostaw, kradzież poświadczeń oraz ruch boczny do innych segmentów infrastruktury. Szczególnie narażone są organizacje zintegrowane z runnerami, katalogami tożsamości i środowiskami chmurowymi.

Brak publicznie potwierdzonych przypadków aktywnego wykorzystania nie powinien usypiać czujności. Podobne luki w popularnych platformach bardzo szybko stają się celem skanowania i prób exploitacji po publikacji szczegółów technicznych oraz poprawek.

Rekomendacje

Priorytetem powinno być natychmiastowe ustalenie wersji wszystkich instancji GitLab self-managed oraz porównanie ich z listą wersji naprawczych. Jeśli środowisko jest podatne, aktualizację należy przeprowadzić bez zbędnej zwłoki.

  • Zweryfikować wersję GitLab w każdym środowisku produkcyjnym, testowym i zapasowym.
  • Zaktualizować system do odpowiedniej wersji patch wskazanej przez producenta.
  • Przeanalizować logi aplikacyjne, reverse proxy, systemowe oraz dane z EDR/SIEM pod kątem anomalii.
  • Sprawdzić, czy nie doszło do uruchamiania nieautoryzowanych procesów, zmian w kluczach SSH, tokenach i sekretach CI/CD.
  • Przeprowadzić rotację kluczowych poświadczeń oraz przegląd uprawnień runnerów i webhooków.
  • Ograniczyć ekspozycję instancji do zaufanych adresów i wdrożyć dodatkowe mechanizmy filtracji ruchu, jeśli patch nie może zostać wdrożony natychmiast.

W sytuacji, gdy organizacja nie może od razu zastosować poprawek, powinna potraktować to jako stan podwyższonego ryzyka. Środki tymczasowe mogą ograniczyć prawdopodobieństwo skutecznego ataku, ale nie zastępują aktualizacji, która pozostaje podstawową metodą redukcji zagrożenia.

Podsumowanie

CVE-2026-110264 to jedna z najpoważniejszych podatności w GitLab w ostatnim czasie. Połączenie maksymalnej oceny CVSS, możliwości niezautoryzowanego RCE oraz zakresu obejmującego wiele lat wydań sprawia, że problem powinien być traktowany priorytetowo przez wszystkie organizacje korzystające z GitLab self-managed.

Najważniejsze działania to szybka aktualizacja, przegląd logów pod kątem prób wykorzystania oraz ocena potencjalnego wpływu na procesy CI/CD i łańcuch dostaw oprogramowania. W tym przypadku zwłoka znacząco zwiększa ryzyko incydentu o szerokich konsekwencjach biznesowych i technicznych.

Źródła

  • https://thehackernews.com/2026/10/critical-gitlab-flaw-cvss-100-could.html
  • https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-5-1-released/
  • https://thehackernews.com/2026/10/gitlab-patches-cvss-100-flaw-that-could.html
  • https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-4-1-released/
  • https://docs.gitlab.com/security/detecting_security_incidents/