Čo sa stalo
GitLab je platforma, na ktorej firmy a vývojárske tímy uchovávajú zdrojový kód, spúšťajú automatické zostavovanie a nasadzovanie (CI/CD) a riešia úlohy. Mnohé organizácie ho prevádzkujú na vlastnom serveri vo verzii Community Edition (CE, zadarmo) alebo Enterprise Edition (EE, platená).
Výrobca 10. septembra 2026 vydal bezpečnostné aktualizácie, ktoré opravujú 18 zraniteľností. Dve z nich sú kritické. Najvážnejšia, CVE-2026-85706, umožňuje za určitých podmienok človeku bez akéhokoľvek účtu prečítať súbory priamo zo servera GitLabu. Druhá, CVE-2026-87719, sa týka len verzie EE a vyžaduje prihláseného používateľa s prístupom k asistentovi Duo Chat. Opravy oboch chýb dostali aj staršie rady, a to vo verziách 19.0.9 a 18.11.12.
Prvú chybu útočníci naozaj zneužívajú. Výskumníci z firmy watchTowr podľa SK-CERT zachytili vyhľadávanie zraniteľných serverov už pár hodín po zverejnení informácií o chybách. Americká agentúra CISA ju 11. septembra 2026 zaradila do katalógu zneužívaných zraniteľností a európska databáza ENISA EUVD ju od toho istého dňa vedie ako zneužívanú. Pred oboma chybami varuje aj SK-CERT (Národné centrum kybernetickej bezpečnosti NBÚ).
Prečo je to nebezpečné
CVE-2026-85706 je chyba typu „path traversal“, teda prechod adresármi. Predstavte si podateľňu, kde poviete, ktorý dokument chcete. Úradník má vydávať len papiere z vášho priečinka, ale nekontroluje, či ste mu nenadiktovali adresu úplne iného oddelenia. A ani sa nepýta, kto ste. Presne tak sa správa dotknutá časť API pre commity: nesprávne obmedzuje cestu k súboru a chýba v nej kontrola prihlásenia.
Útok za určitých podmienok funguje cez internet a nepotrebuje heslo ani žiadnu akciu používateľa. Útočník si môže prečítať napríklad logy a konfiguračné súbory. Podľa SK-CERT môžu obsahovať prihlasovacie údaje a kryptografický materiál. S nimi môže útočník získať neoprávnený prístup do systému a pokračovať ďalšími útokmi. SK-CERT varuje, že to môže viesť až k úplnému narušeniu dôvernosti, integrity a dostupnosti systému.
CVE-2026-87719 je chyba v spracovaní prijatých údajov (nebezpečná deserializácia). Prihlásený používateľ s prístupom k Duo Chat ňou môže za určitých podmienok získať konfiguráciu funkcie Advanced Search a citlivé prihlasovacie údaje. Zneužívanie tejto chyby zatiaľ nie je známe.
- CVSS: medzinárodná stupnica závažnosti od 0 do 10. Prvá chyba má skóre 10,0, teda maximum, druhá 9,9. Obe hodnoty pridelil výrobca GitLab.
- CISA KEV: zoznam zraniteľností, o ktorých americká agentúra CISA vie, že sa naozaj zneužívajú. Federálnym úradom v USA nariadila opravu do 14. septembra 2026, teda do troch dní.
- EPSS: odhad pravdepodobnosti, že chybu niekto zneužije v najbližších 30 dňoch. Pri CVE-2026-85706 je to k 28. októbru 2026 približne 97 %, čo patrí k najvyšším hodnotám vôbec. Pri CVE-2026-87719 je to menej ako 1 %.
Koho sa to týka
Týka sa to GitLab Community Edition aj Enterprise Edition, ktoré si prevádzkujete sami na vlastnom serveri, virtuálnom stroji alebo v kontajneri Docker. Typicky ide o firemné servery vývojárskych tímov, interné Git servery agentúr a softvérových firiem či inštancie u poskytovateľov hostingu.
- CVE-2026-85706 (CE aj EE): všetky verzie od 18.7 pred 18.11.12, verzie 19.0 pred 19.0.9, 19.1 pred 19.1.8, 19.2 pred 19.2.6 a 19.3 pred 19.3.2.
- CVE-2026-87719 (len EE): všetky verzie od 18.3 pred 18.11.12 a rovnaké rady verzií 19 ako vyššie. Zneužiť ju môže len prihlásený používateľ s prístupom k Duo Chat.
Najväčšie riziko majú servery dostupné z internetu, ale prvú chybu môže zneužiť ktokoľvek, kto sa k serveru dostane, aj vo vnútornej sieti. Ak už máte opravenú verziu, skontrolujte ešte, či server nebol napadnutý pred aktualizáciou.
Ako zistiť, či ste zasiahnutí
Najjednoduchšie zistíte verziu v administrácii: po prihlásení ako správca otvorte stránku /help na vašom GitLabe alebo prehľad v Admin Area. Uvidíte číslo verzie aj to, či ide o CE alebo EE.
Na serveri s inštaláciou z oficiálneho balíka (Omnibus) stačí jeden z týchto príkazov. Nič nemenia, len čítajú:
sudo gitlab-rake gitlab:env:info
head -n 1 /opt/gitlab/version-manifest.txt
Ak GitLab beží v Dockeri (názov kontajnera upravte podľa svojej inštalácie):
docker exec gitlab cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
Výsledok porovnajte so zoznamom v časti „Koho sa to týka“. Ak máte napríklad rad 19.2 s nižším číslom opravy ako 19.2.6, ste zraniteľní. Zraniteľná je aj každá verzia od 18.7 nižšia ako 18.11.12, pri EE kvôli druhej chybe už od 18.3.
Ako to opraviť
Opravené verzie sú 19.3.2, 19.2.6, 19.1.8, 19.0.9 a 18.11.12. SK-CERT odporúča aktualizovať bezodkladne. Ak už vo vašom rade vyšla novšia verzia, nasaďte rovno ju. Postupujte v tomto poradí:
- Najprv servery dostupné z internetu, potom interné.
- Ak nemôžete aktualizovať hneď, dočasne obmedzte prístup ku GitLabu len na dôveryhodné IP adresy (firewall, VPN). Ide o dočasné opatrenie podľa SK-CERT, aktualizáciu nenahrádza.
- Urobte zálohu príkazom
sudo gitlab-backup createa odložte si aj adresár/etc/gitlab. Súborygitlab.rbagitlab-secrets.jsonbežná záloha neobsahuje. - Aktualizujte na opravenú verziu vo svojom rade, napríklad v rade 19.2 aspoň na 19.2.6, cez správcu balíkov alebo novým obrazom Docker. Ak máte staršiu verziu radu 18, prejdite aspoň na 18.11.12. Pri skoku o viac verzií dodržte oficiálnu cestu aktualizácie (upgrade path) od GitLabu.
- Po aktualizácii znova overte verziu príkazmi z časti „Ako zistiť, či ste zasiahnutí“.
- Nakoniec skontrolujte, či ste už neboli napadnutí. Aktualizácia zatvorí dieru, ale nevráti ukradnuté heslá a kľúče.
Dostupné verzie balíka na Debiane alebo Ubuntu zobrazíte týmto príkazom:
sudo apt-get update && apt-cache policy gitlab-ee gitlab-ce
Čo ak už ste mohli byť napadnutí
Skenovanie zraniteľných serverov začalo pár hodín po zverejnení informácií o chybách a 11. septembra 2026 CISA zneužívanie potvrdila. Ak bol váš GitLab dostupný z internetu a neopravený, počítajte s tým, že z neho mohol niekto čítať. SK-CERT uvádza ako indikátor HTTP POST požiadavky na /api/v4/projects/{id}/repository/commits/ s parametrom file.path. Hľadajte ich v logoch (pri Dockeri v pripojenom adresári s logmi):
sudo zgrep -h 'repository/commits' /var/log/gitlab/nginx/gitlab_access.log* | grep 'POST'
sudo zgrep -h 'repository/commits' /var/log/gitlab/gitlab-rails/api_json.log* | grep 'POST'
Takéto požiadavky posielajú aj bežné nástroje, ktoré cez API vytvárajú commity. Podozrivé sú najmä tie z neznámych IP adries alebo bez prihláseného používateľa. GitLab štandardne uchováva logy asi 30 dní, preto záznamy zo septembra už nemusíte mať.
- Prehľadajte repozitáre a hľadajte citlivé údaje: účty, heslá, súkromné kľúče, VPN konfigurácie.
- Ak niečo nájdete alebo sú logy podozrivé, tieto heslá a kľúče zmeňte v GitLabe aj všade, kde sa používali.
- V administrácii skontrolujte nové alebo neznáme účty, prístupové tokeny, SSH a deploy kľúče.
- Overte integritu Git repozitárov a hľadajte neoprávnené zmeny.
Ak nájdete podozrivé záznamy, logy zo septembra už nemáte alebo si nie ste istí, ako vymeniť tajné kľúče GitLabu, prizvite odborníka na riešenie incidentov. Incident môžete nahlásiť na Slovensku SK-CERT, v Česku NÚKIB.