Luka SSRF w GitLab (CVE-2021-39935): serwer odpytuje sieć firmy na prośbę obcego konta
Stary błąd w GitLab CE/EE pozwala kontu zewnętrznemu zmusić serwer do wysyłania żądań do sieci wewnętrznej. CISA potwierdziła ataki w 2026 roku. Wyłącz otwartą rejestrację i zaktualizuj GitLab.
Ten alert jest dla zarządu, CTO i CFO firm, które utrzymują własny serwer GitLab (Community lub Enterprise Edition). Werdykt: jeśli serwer ma wersję starszą niż 14.3.6, 14.4.4 lub 14.5.2, a rejestracja nowych kont jest otwarta, wyłącz dziś samodzielną rejestrację i zaplanuj aktualizację, bo CISA potwierdziła wykorzystanie tej luki w atakach.
1. CO SIĘ STAŁO? Fakty w pigułce
Amerykańska agencja CISA 3 lutego 2026 roku dopisała podatność CVE-2021-39935 do katalogu KEV, czyli listy luk, co do których ma dowody wykorzystania w prawdziwych atakach. Błąd w GitLab pozwala użytkownikowi z kontem zewnętrznym, czyli o najmniejszych uprawnieniach, zmusić serwer do wysyłania żądań w imieniu napastnika przez interfejs CI Lint API. Serwer stoi zwykle w sieci firmy, więc może „zapukać” tam, gdzie napastnik z internetu nie sięga.
Luka jest stara: poprawkę GitLab wydał 6 grudnia 2021 roku, a rekord CVE opublikowano 13 grudnia 2021 roku. Powstała jako skutek niepełnej wcześniejszej poprawki tego samego interfejsu. Termin CISA minął 24 lutego 2026 roku.
Element
Szczegóły
Identyfikator CVE
CVE-2021-39935
Data dodania do CISA KEV
2026-02-03
Termin naprawy wg CISA
2026-02-24 (21 dni od wpisu)
Produkt
GitLab Community Edition i Enterprise Edition, instalacje własne
Wersje zagrożone
Od 10.5 do wersji niższych niż 14.3.6; od 14.4 do niższych niż 14.4.4; od 14.5 do niższych niż 14.5.2. Scenariusz ze zgłoszenia wymaga włączenia naraz samodzielnej rejestracji i opcji nadającej nowym użytkownikom status zewnętrzny
Wersje bezpieczne
14.3.6, 14.4.4, 14.5.2 (pierwsze z poprawką, 6 grudnia 2021) i nowsze; dziś należy aktualizować do bieżącego, wspieranego wydania GitLab
Typ podatności
Fałszowanie żądań po stronie serwera (SSRF); CWE-918. Skutek: ujawnienie informacji i obejście zabezpieczeń, nie wykonanie kodu
Ocena CVSS
NVD: 7.5 (CVSS 3.1, WYSOKA, atak łatwy). GitLab: 6.8 (CVSS 3.1, ŚREDNIA, atak trudniejszy, ale skutki wychodzą poza serwer). NVD w CVSS 2.0: 5.0
2. O CO CHODZI W PROSTYCH SŁOWACH?
Wyobraź sobie kuriera, którego ochrona wpuszcza do biurowca. Ktoś stojący przed budynkiem prosi go: „skoro już jesteś w środku, zajrzyj do pokoju za recepcją i powiedz mi, co tam stoi”. Kurier nie robi nic złego z własnej woli, ma po prostu prawo wstępu, którego proszący nie ma.
Serwer GitLab jest takim kurierem. Stoi w firmowej sieci i ma dostęp do urządzeń niedostępnych z internetu. Napastnik zakłada konto przez zwykły formularz rejestracji. Konto nie widzi żadnego projektu, ale może wysłać do serwera prośbę o sprawdzenie pliku konfiguracyjnego, w której ukrywa adres wewnętrznego urządzenia. Serwer posłusznie odpytuje ten adres, a napastnik poznaje, co firma ma w środku.
💡 SSRF (Server-Side Request Forgery, fałszowanie żądań po stronie serwera) to błąd, w którym napastnik zmusza serwer do wysyłania żądań pod wskazane adresy, także wewnętrzne. CI Lint API to funkcja GitLab sprawdzająca poprawność plików konfiguracji automatycznych zadań. Użytkownik zewnętrzny to konto o najmniejszych uprawnieniach, bez wglądu w firmowe projekty. KEV to katalog CISA z lukami potwierdzonymi jako wykorzystywane.
Scenariusz
Normalnie
Z podatnością
Ktoś zakłada konto przez formularz
Konto zewnętrzne nie widzi projektów
Nadal nie widzi projektów
To konto wywołuje CI Lint API
Brak dostępu do sieci wewnętrznej
Serwer wysyła żądania pod adresy wskazane przez napastnika
Wewnętrzne panele bez hasła (drukarki, narzędzia, urządzenia)
Niewidoczne z internetu
Mogą zostać odpytane przez serwer GitLab
Wiedza o sieci firmy
Tylko zespół IT
Napastnik buduje mapę urządzeń
Status zewnętrzny nowych kont
Chroni projekty przed obcymi
Nie chroni przed tą luką
źródło: pexels.com
3. JAK HAKERZY TO WYKORZYSTUJĄ?
Poniżej typowy przebieg ataku dla tej klasy podatności. To scenariusz poglądowy, a nie odtworzenie konkretnego incydentu. Atak wymaga serwera GitLab dostępnego z internetu z otwartą rejestracją (lub istniejącego konta zewnętrznego). CISA ocenia, że nie da się go w pełni zautomatyzować, a skutek techniczny określa jako częściowy.
Etap
Czas
Akcja hakerów
Wynik
1. Rozpoznanie
T+0 min
Wyszukanie serwerów GitLab w starej wersji z otwartym formularzem rejestracji
Lista celów
2. Założenie konta
T+kilka minut
Rejestracja przez zwykły formularz
Konto zewnętrzne bez dostępu do projektów
3. Fałszowanie żądań
T+kilkanaście minut
Wywołania CI Lint API z adresami z sieci wewnętrznej
Serwer odpytuje wewnętrzne adresy
4. Mapowanie sieci
T+godziny
Sprawdzanie, które urządzenia i usługi odpowiadają
Mapa baz danych, paneli i narzędzi bez hasła
5. Celowany atak
T+dni do tygodni
Wykorzystanie zebranej wiedzy do kolejnego, precyzyjnego ataku
Firma dowiaduje się o nim dużo później
Konkretne scenariusze zagrożenia
🟠 Scenariusz 1: kilkunastoosobowa firma programistyczna ma otwartą rejestrację dla współpracowników; obca osoba zakłada konto i przez serwer mapuje wewnętrzne bazy danych i panele urządzeń.
🟠 Scenariusz 2: wewnętrzne narzędzie postawione bez hasła, „bo jest tylko w sieci wewnętrznej”, zostaje odczytane przez serwer GitLab na prośbę napastnika.
🔴 Scenariusz 3: zebrane informacje posłużą do celowanego włamania w innym miejscu sieci, a po tygodniach nikt nie łączy go z założonym kiedyś kontem.
4. DLACZEGO TO RYZYKO DLA TWOJEJ FIRMY?
Sama luka nie daje przejęcia serwera, ale na serwerze GitLab leży kod firmy i klientów, a sam serwer ma dostęp do sieci wewnętrznej. Najgroźniejsze jest to, że napastnik przestaje zgadywać, a firma o niczym nie wie. Serwer w wersji 14.x nieaktualizowany od 2021 roku zwykle ma też inne, poważniejsze luki.
Obszar biznesu
Potencjalny wpływ
Czas do wystąpienia
Koszty szacunkowe
Operacyjny
Zwykle brak natychmiastowego przestoju; przestój przy późniejszym, celowanym ataku
Tygodnie
10 tys. do 100 tys. PLN (aktualizacja starej instalacji, ewentualny przestój)
Bezpieczeństwo danych
Ujawnienie informacji z wewnętrznych usług i mapy sieci
Godziny do dni
20 tys. do 120 tys. PLN (analiza, zabezpieczenie usług wewnętrznych)
Finansowy
Koszty reakcji, gdy zebrana wiedza posłuży do poważniejszego włamania
Tygodnie do miesięcy
20 tys. do 300 tys. PLN łącznie
Reputacyjny
Pytania klientów, których kod lub dane są na serwerze
Miesiące
20 tys. do 200 tys. PLN (utracone zlecenia)
Prawny
Zgłoszenie do UODO w ciągu 72 godzin, jeśli ujawnione dane obejmują dane osobowe; możliwa kara RODO do 20 mln EUR lub 4% rocznego obrotu, zależnie od okoliczności; odpowiedzialność wobec klientów za ich kod
72 godziny od wykrycia
10 tys. do 80 tys. PLN (obsługa prawna), bez ewentualnej kary
Interpretacja: wpływ jest średni (ujawnienie informacji i obejście zabezpieczeń, bez wykonania kodu), a prawdopodobieństwo wysokie, bo CISA potwierdza ataki i luka jest łatwa do wykorzystania przy otwartej rejestracji; firma z zamkniętą rejestracją i aktualnym GitLab jest poza zasięgiem tej luki.
5. CO MUSISZ ZROBIĆ NATYCHMIAST?
Lp.
Priorytet
Działanie
Termin
Odpowiedzialny
1
🔴 NATYCHMIAST
Sprawdzić wersję GitLab w panelu administracyjnym
Dziś
Administrator GitLab
2
🔴 NATYCHMIAST
Wyłączyć samodzielną rejestrację, jeśli nie jest niezbędna, i zapraszać użytkowników imiennie
Dziś
Administrator GitLab
3
🟠 PILNIE
Zaktualizować GitLab co najmniej do 14.3.6, 14.4.4 lub 14.5.2, a docelowo do bieżącego wspieranego wydania
Do 7 dni
Administrator / DevOps
4
🟠 PILNIE
Przejrzeć listę kont, usunąć te, których nikt nie rozpoznaje, zwłaszcza założone przez formularz
Do 3 dni
Administrator GitLab
5
🟠 PILNIE
Przejrzeć logi pod kątem wywołań CI Lint API z kont zewnętrznych
Do 7 dni
Dział IT
6
🟡 WAŻNIE
Zabezpieczyć hasłem wewnętrzne panele i usługi, które dziś działają bez logowania
Do 30 dni
Administrator sieci
7
🟡 WAŻNIE
Ograniczyć ruch wychodzący z serwera GitLab do sieci wewnętrznej tylko do potrzebnych adresów
Do 30 dni
Administrator sieci
Jeśli aktualizacja nie jest dostępna
GitLab wydał poprawki w grudniu 2021 roku, więc docelowo trzeba zaktualizować serwer. Poniższe miary ograniczają ryzyko do tego czasu; efektywność to ocena ekspercka.
Czasowa miara ochronna
Efektywność
Łatwość wdrożenia
Wyłączenie samodzielnej rejestracji
Wysoka wobec opisanego scenariusza; nie chroni przed już istniejącymi kontami zewnętrznymi
Łatwa
Usunięcie nieznanych kont zewnętrznych
Średnia
Łatwa
Ograniczenie ruchu z serwera GitLab do sieci wewnętrznej (zapora)
Średnia do wysokiej: serwer nie dosięgnie zbędnych adresów
Średnia
Dostęp do GitLab tylko przez VPN
Wysoka: obcy nie założą konta
Średnia
Przed i po działaniu
Stan
Przed działaniem
Po działaniu
Rejestracja kont
Otwarta dla każdego
Tylko zaproszenia imienne
Wersja GitLab
Podatna, sprzed grudnia 2021
Aktualne, wspierane wydanie
Konta zewnętrzne
Nieprzejrzane
Tylko znane osoby
Ruch z serwera do sieci wewnętrznej
Bez ograniczeń
Tylko do potrzebnych adresów
Wewnętrzne panele
Część bez hasła
Zabezpieczone logowaniem
6. KONTEKST I SKALA ZAGROŻENIA
Aspekt
Informacja
Czy jest wykorzystywana?
TAK (potwierdzone przez CISA). Ocena CISA: wykorzystanie aktywne, atak nie w pełni automatyzowalny, skutek techniczny częściowy
Grupy przestępcze
Brak publicznych informacji
Kampanie ransomware
Brak potwierdzenia (CISA KEV: Unknown)
Ocena CVSS
7.5 WYSOKA wg NVD (CVSS 3.1); 6.8 ŚREDNIA wg GitLab (CVSS 3.1); 5.0 wg NVD (CVSS 2.0)
PoC dostępny publicznie?
Brak publicznych informacji o gotowym kodzie ataku; publiczne jest zgłoszenie w programie nagród za błędy (HackerOne)
Liczba atakowanych firm
Brak publicznych informacji
Kto zgłosił błąd
Badacz o pseudonimie minhli, zgłoszenie z 17 czerwca 2021 jako niepełna poprawka wcześniejszego SSRF
Prognoza EPSS
Ok. 0,36 na 23 sierpnia 2026, percentyl 0,984
Oceny różnią się, bo producent wlicza konieczną konfigurację (trudniejszy atak), ale uznaje, że skutki wychodzą poza serwer, a NVD odwrotnie. Wspólny wniosek jest jeden:
Sygnały zagrożenia dla CVE-2021-39935CVSS 3.1 (NVD) 7.5/10 ███████████████░░░░░ WYSOKACVSS 3.1 (GitLab) 6.8/10 ██████████████░░░░░░ ŚREDNIAEPSS (próba w 30 dni) ~36% ███████░░░░░░░░░░░░░ WYSOKA jak na tłoEPSS percentyl 98,4% ████████████████████ czołówkaCISA KEV TAK ████████████████████ ataki potwierdzone
Linia czasu incydentu
2021-06-17 Badacz minhli zgłasza niepełną poprawkę SSRF w CI Lint API2021-12-06 GitLab wydaje 14.5.2, 14.4.4 i 14.3.6 z poprawką2021-12-13 Publikacja CVE-2021-399352026-02-03 CISA dodaje lukę do katalogu KEV2026-02-24 Termin naprawy wg CISA dla agencji federalnych2026-08-23 EPSS ok. 0,36, percentyl 0,984 ... prawie 5 lat od poprawki2026-09-17: TUTAJ JESTEŚMY
7. BEZPOŚREDNI LINK DO DZIAŁANIA: checklista dla CTO/CFO
Czy nowi użytkownicy dostają automatycznie status zewnętrzny?
TAK / NIE
🟠
4
Ile kont zewnętrznych istnieje i czy wszystkie są rozpoznane?
[liczba]
🟠
5
Czy serwer GitLab jest dostępny z internetu bez VPN?
TAK / NIE
🟠
6
Jakie usługi w sieci wewnętrznej działają bez hasła?
[lista]
🟡
7
Kiedy planujemy aktualizację do bieżącego wydania?
[data]
🟡
Pytania diagnostyczne dla managera
✓ Czy wiem, gdzie firma przechowuje kod swój i klientów oraz kto za ten serwer odpowiada?
✓ Czy mamy regularny rytm aktualizacji, czy reagujemy tylko na pojedyncze alarmy?
✓ Czy otwarte formularze rejestracji w naszych systemach są świadomą decyzją?
✓ Czy wewnętrzne systemy są chronione tylko tym, że „stoją w sieci wewnętrznej”?
✓ Czy potrafimy wskazać, kto założył każde konto w naszych narzędziach?
Podsumowanie
CVE-2021-39935 pozwala osobie, która założy konto na serwerze GitLab starszym niż 14.3.6, 14.4.4 lub 14.5.2, zmusić serwer do odpytywania sieci wewnętrznej firmy. CISA potwierdza wykorzystanie, a poprawka czeka od grudnia 2021 roku, więc wyłączenie otwartej rejestracji to zadanie na dziś, a aktualizacja do bieżącego wydania na ten tydzień.
Czytaj dalej
Powiązane artykuły
Zestaw zmienia się codziennie, więc przy kolejnej wizycie zobaczysz inny wycinek bloga.
Przepełnienie bufora w FortiOS i FortiSwitchManager pozwala bez hasła uruchomić kod na zaporze. CISA potwierdza ataki, a przestępcy instalują trojana PivotC2. Zaktualizuj FortiOS i sprawdź zapory pod kątem włamania.
Wykorzystywana przed wydaniem poprawki luka w mechanizmie aktualizacji Windows 11 i Windows Server 2025 pozwala zwykłemu kontu przejąć komputer. Zainstaluj wrześniową aktualizację dziś.
Błąd w NetScaler ADC i Gateway, opisany przez producenta jako awaria, pozwala według badaczy przejąć bramę VPN bez hasła. Publiczny kod istnieje, ataki trwają. Zaktualizuj urządzenia i sprawdź ślady włamania.
Klikając „Akceptuję”, zgadzasz się na przechowywanie plików cookie przez UXU w celu poprawy działania strony, analizy i wsparcia działań marketingowych.