Čo sa stalo
GitLab je platforma, v ktorej firmy držia zdrojový kód, spravujú projekty a spúšťajú automatické zostavovanie a nasadzovanie aplikácií (CI/CD). Mnohé organizácie ho prevádzkujú na vlastnom serveri.
21. októbra 2026 vydal GitLab mimoriadne opravné verzie pre Community Edition (CE) aj Enterprise Edition (EE). Najvážnejšia z opravených chýb, CVE-2026-110264, môže za určitých podmienok umožniť útočníkovi bez prihlásenia spustiť na serveri ľubovoľný kód. Chyba je v kompilátore regulárnych výrazov, teda vzorov na vyhľadávanie v texte.
Výrobca odporúča okamžite aktualizovať všetky vlastné inštalácie. CERT-EU, tím kybernetickej bezpečnosti inštitúcií EÚ, vydal 22. októbra 2026 varovanie s rovnakým odporúčaním. Potvrdené prípady zneužitia zatiaľ nie sú známe, GitLab však zverejnil pravidlá na odhalenie pokusov o útok.
Prečo je to nebezpečné
Ide o pretečenie celého čísla (integer overflow). Predstavte si starý tachometer, ktorý po 999 999 kilometroch skočí späť na nulu. Pri kompilácii špeciálne pripraveného regulárneho výrazu sa podobne „pretočí“ číslo, s ktorým program počíta, a program potom pracuje s nesprávnou hodnotou. Za určitých podmienok tak útočník môže na serveri spustiť vlastný kód.
Podľa hodnotenia výrobcu útok nevyžaduje prihlásenie ani žiadnu akciu používateľa a vedie sa cez sieť. Ak je váš GitLab dostupný z internetu, môže to skúsiť ktokoľvek. Útočník, ktorý takto spustí kód na serveri s GitLabom, sa môže dostať k zdrojovému kódu, prihlasovacím údajom uloženým v CI/CD a nasadzovacím kľúčom a často aj do ďalších firemných systémov.
Skóre CVSS hodnotí závažnosť na stupnici od 0 do 10. GitLab tejto chybe pridelil 10,0, teda maximum. EPSS odhaduje pravdepodobnosť zneužitia v najbližších 30 dňoch. K 28. októbru 2026 je to približne 1 %, čo je viac než pri asi 63 % známych zraniteľností. Katalóg CISA KEV eviduje chyby, ktoré sa preukázateľne zneužívajú. Táto v ňom zatiaľ nie je, to však neznamená, že ste v bezpečí.
Koho sa to týka
Zasiahnuté sú vlastné (self-managed) inštalácie GitLab CE aj EE vo verziách:
- od 7.0 pred 18.11.13
- 19.0 pred 19.0.10
- 19.1 pred 19.1.9
- 19.2 pred 19.2.9
- 19.3 pred 19.3.6
- 19.4 pred 19.4.3
- 19.5 pred 19.5.1
Týka sa to všetkých typov nasadenia: balíčkov Omnibus, inštalácií zo zdrojového kódu, kontajnerov Docker aj Helm chartu. Typicky ide o firemné servery vývojových tímov, softvérových dodávateľov, škôl a úradov.
Používateľov GitLab.com sa to netýka, ten už beží na opravenej verzii. Zákazníci GitLab Dedicated na verzii 19.3.5-internal0, 19.4.2-internal0 alebo novšej opravu už majú a nemusia nič robiť.
Ako zistiť, či ste zasiahnutí
Najjednoduchšie je prihlásiť sa ako administrátor a otvoriť administráciu (Admin area). Verzia je hneď na prehľade. Nájdete ju aj na stránke /help vašej inštancie.
Na serveri s balíčkom Omnibus verziu zistíte príkazmi, ktoré nič nemenia:
sudo gitlab-rake gitlab:env:info
sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
Pri Dockeri (názov kontajnera upravte podľa seba) a pri Kubernetes s Helmom:
docker exec gitlab cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
helm list -A | grep -i gitlab
Výsledok porovnajte so zoznamom zasiahnutých verzií. Každá verzia nižšia ako 18.11.13 je zasiahnutá. V radoch 19.0 až 19.5 ste zasiahnutí, ak máte nižšiu verziu, než je opravená verzia vášho radu. Pri Helme sledujte stĺpec APP VERSION.
Ako to opraviť
Opravené verzie sú 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 a 18.11.13. Aktualizujte na opravenú verziu vo svojom rade, napríklad z 19.4 na 19.4.3. Ak máte verziu nižšiu ako 18.11.13 zo staršieho radu, opravená verzia pre váš rad neexistuje. Aktualizujte aspoň na 18.11.13 a prejdite pritom povinnými medzikrokmi, ktoré ukáže nástroj GitLab Upgrade Path.
Odporúčaný postup:
- Najprv aktualizujte servery dostupné z internetu, odporúča to aj CERT-EU.
- Urobte zálohu príkazom
sudo gitlab-backup createa odložte si aj súbory/etc/gitlab/gitlab-secrets.jsona/etc/gitlab/gitlab.rb. Bežná záloha ich neobsahuje. - Pri balíčku Omnibus na Debiane alebo Ubuntu spustite
sudo apt-get updatea potomsudo apt-get install --only-upgrade gitlab-ee(alebogitlab-ce). Tak dostanete najnovšiu verziu. Ak chcete ostať vo svojom rade, zadajte konkrétnu verziu, napríkladsudo apt-get install gitlab-ee=19.4.3-ee.0. - Pri Dockeri stiahnite image s opravenou verziou a kontajner znovu vytvorte. Pri Helme nasaďte chart s opravenou verziou GitLabu.
- Po aktualizácii overte verziu rovnako ako v časti o kontrole.
GitLab vo svojom oznámení neuvádza žiadne dočasné riešenie, jedinou opravou je aktualizácia. Kým ju nenainštalujete, môžete ako všeobecné opatrenie povoliť prístup ku GitLabu z internetu len cez VPN alebo z povolených IP adries. Chybu to však neodstráni. Aktualizácia zároveň opravuje ďalších 11 chýb, z toho 2 s vysokou závažnosťou.
Čo ak už ste mohli byť napadnutí
GitLab zverejnil dve pravidlá na odhalenie pokusov o zneužitie: „Onigmo native worker crash“ a „Org mode render error burst“. Podľa názvov sledujú nečakané pády pracovných procesov pri spracovaní regulárnych výrazov (Onigmo je knižnica na regulárne výrazy) a náhle série chýb pri zobrazovaní dokumentov vo formáte Org. CERT-EU odporúča preveriť, či niektorý server nebol kompromitovaný, a odkazuje pritom práve na tieto pravidlá.
Na čo sa pozrieť (príkazy len čítajú). Prvý príkaz prehľadá logy procesov Puma a Sidekiq vrátane starších skomprimovaných súborov a hľadá záznamy o páde procesu („Segmentation fault“ alebo „[BUG]“). Druhý vypíše procesy bežiace pod používateľom git.
sudo sh -c 'zgrep -iE "segmentation fault|\[BUG\]" /var/log/gitlab/puma/puma_stderr.log* /var/log/gitlab/puma/current /var/log/gitlab/sidekiq/current /var/log/gitlab/sidekiq/@*'
ps -u git -o pid,etime,cmd
- Neznáme administrátorské účty, nové prístupové tokeny a SSH kľúče.
- Nové runnery, webhooky a deploy kľúče, ktoré nikto z vás nepridal.
- Neznáme procesy pod používateľom
gita nečakané odchádzajúce spojenia.
Ak nájdete podozrivé stopy, server odpojte od siete, nič nemažte a prizvite odborníka na riešenie incidentov. Po kompromitácii treba zmeniť všetky heslá, tokeny a kľúče uložené v GitLabe vrátane premenných CI/CD.