Gitea: krytyczna luka CVE-2026-60004 pozwala przejąć serwer. Zaktualizuj do 1.27.1
CISA potwierdza aktywne ataki na Gitea (CVE-2026-60004). Luka w funkcji diffpatch pozwala uruchamiać polecenia na serwerze. Zaktualizuj do wersji 1.27.1 lub nowszej i sprawdź, czy nie doszło do włamania.
Ten alert jest dla zarządu, CTO i osób odpowiedzialnych za narzędzia programistyczne w firmach, które utrzymują własny serwer Gitea. Werdykt: jeśli Twoja Gitea ma wersję od 1.17 do 1.27.0, zaktualizuj ją NATYCHMIAST do 1.27.1 lub nowszej i sprawdź, czy serwer nie został już przejęty.
1. CO SIĘ STAŁO? Fakty w pigułce
25 sierpnia 2026 r. amerykańska agencja CISA dopisała lukę CVE-2026-60004 w Gitea do katalogu KEV (Known Exploited Vulnerabilities). Do tego katalogu trafiają wyłącznie podatności, co do których CISA ma dowody, że są wykorzystywane w realnych atakach. Termin naprawy dla amerykańskich agencji federalnych wyznaczono na 28 sierpnia 2026 r., czyli zaledwie trzy dni. CISA wymaga też przeglądu śledczego (sprawdzenia, czy nie doszło już do włamania).
Gitea to popularna, samodzielnie hostowana platforma do przechowywania kodu w repozytoriach Git (podobna do GitHub lub GitLab). Luka siedzi w funkcji diffpatch, która pozwala wgrać zmianę w postaci pliku łatki. Odpowiednio spreparowana łatka instaluje na serwerze tzw. hook Git, a ten uruchamia dowolne polecenia systemowe z uprawnieniami konta, na którym działa Gitea.
1.27.1 i nowsze (najnowsza wersja z linii 1.27 na dzień 17.09.2026: 1.27.3)
Typ podatności
Wstrzyknięcie kodu prowadzące do zdalnego wykonania poleceń (RCE), CWE-94
Ocena CVSS
9.8/10, KRYTYCZNA (CVSS 3.1, atak przez sieć, niska złożoność, bez interakcji użytkownika)
💡 CVSS to międzynarodowa skala od 0 do 10 opisująca powagę luki. Wynik 9.8 oznacza najwyższą kategorię: atak jest prosty, da się go przeprowadzić przez sieć, a skutkiem może być pełna utrata poufności, integralności i dostępności systemu.
Ważny niuans: formalnie atakujący potrzebuje zwykłego konta z prawem zapisu do dowolnego repozytorium. Jednak Gitea domyślnie pozwala na otwartą rejestrację, więc obcy człowiek z internetu może sam założyć konto, utworzyć własne repozytorium i przeprowadzić atak. Stąd ocena 9.8, a nie niższa.
2. O CO CHODZI W PROSTYCH SŁOWACH?
Wyobraź sobie biurowiec, w którym każdy gość może zarejestrować się w recepcji i dostać własną szafkę na dokumenty. Do szafki wkłada się teczki, a woźny rozkłada ich zawartość. Okazuje się, że jeśli gość dwa razy wrzuci identyczną teczkę, woźny w zamieszaniu wyjmuje z niej kartkę i przypina ją na tablicy poleceń dla całego budynku. Od tej chwili ochrona wykonuje instrukcje napisane przez gościa.
Tak właśnie działa ta luka. Gitea przetwarza łatkę w tymczasowej kopii repozytorium. Gdy ta sama łatka zostanie wysłana dwa razy, Git próbuje rozwiązać konflikt i zapisuje plik tam, gdzie nie powinien: w katalogu hooks. Plik staje się aktywnym skryptem, który Git sam uruchamia, a razem z nim wykonują się polecenia atakującego.
Scenariusz
Normalnie
Z podatnością
Nowe konto z otwartej rejestracji
Użytkownik może tworzyć własne repozytoria i wgrywać do nich kod
Użytkownik może uruchomić polecenia systemowe na serwerze Gitea
Wgranie łatki przez diffpatch
Zmiana trafia do repozytorium jako zwykły plik
Zmiana staje się aktywnym hookiem Git i uruchamia się sama
Plik konfiguracyjny app.ini
Dostępny tylko dla administratora serwera
Może zostać odczytany razem z sekretami aplikacji
Hasła do bazy danych i tokeny OAuth
Ukryte w konfiguracji i zmiennych środowiskowych
Mogą trafić w ręce atakującego
Prywatne repozytoria firmy
Widoczne tylko dla uprawnionych osób
Mogą zostać skopiowane lub zmienione przez atakującego
💡 Hook Git to mały skrypt, który Git automatycznie uruchamia przy określonym zdarzeniu (np. przy zapisie zmian). Służy do automatyzacji, ale jeśli podłoży go atakujący, staje się furtką do wykonania dowolnego polecenia.
💡 RCE (Remote Code Execution) oznacza zdalne wykonanie kodu: atakujący, nie mając fizycznego dostępu do serwera, uruchamia na nim własne polecenia.
źródło: magnific.com
3. JAK HAKERZY TO WYKORZYSTUJĄ?
Poniżej typowy przebieg ataku dla tej klasy podatności. To scenariusz poglądowy, dopasowany do rzeczywistych warunków luki: serwer z Git w wersji 2.32 lub nowszej, włączona funkcja diffpatch, katalog tymczasowy z prawem zapisu i uruchamiania oraz konto z prawem zapisu (lub otwarta rejestracja). Nie jest to opis konkretnego incydentu.
Automatyczne wyszukiwanie serwerów Gitea w internecie i odczyt numeru wersji
Lista serwerów z wersją od 1.17 do 1.27.0
2. Wejście
T+5 min
Rejestracja nowego konta (przy otwartej rejestracji) lub użycie wykradzionego konta pracownika
Konto z prawem zapisu
3. Przygotowanie
T+10 min
Utworzenie prywatnego repozytorium
Własne repozytorium pod pełną kontrolą atakującego
4. Uruchomienie
T+15 min
Dwukrotne wysłanie tej samej łatki przez diffpatch
Aktywny hook Git, polecenia wykonują się na serwerze
5. Kradzież sekretów
T+30 min
Odczyt app.ini, zmiennych środowiskowych, haseł do bazy danych i tokenów
Dostęp do bazy danych i integracji
6. Rozszerzenie ataku
T+kilka godzin
Kopiowanie repozytoriów, użycie kluczy i tokenów do systemów CI/CD, chmury, serwerów wdrożeniowych
Kradzież kodu, możliwe podłożenie złośliwych zmian w produktach firmy
Istotna cecha tego ataku: wynik poleceń można zapisać w samym repozytorium i pobrać zwykłym klonowaniem. Atakujący nie potrzebuje wychodzącego połączenia z serwera, więc blokada ruchu wychodzącego nie zatrzyma kradzieży danych.
Konkretne scenariusze zagrożenia
🔴 Scenariusz 1: Kradzież kodu źródłowego i tajemnic firmy. Atakujący kopiuje wszystkie repozytoria, w tym prywatne projekty klientów, a w nich często zapisane przez pomyłkę hasła i klucze API.
🔴 Scenariusz 2: Zatruty łańcuch dostaw. Atakujący po cichu zmienia kod lub skrypty budowania, a Twoja firma wdraża u siebie lub u klientów oprogramowanie z tylnymi drzwiami.
🔴 Scenariusz 3: Punkt wejścia do całej sieci. Z przejętego serwera Gitea atakujący używa haseł do bazy, tokenów OAuth i kluczy wdrożeniowych, aby dostać się do innych systemów, co może zakończyć się szyfrowaniem danych i żądaniem okupu.
4. DLACZEGO TO RYZYKO DLA TWOJEJ FIRMY?
Serwer z kodem to często najcenniejszy zasób firmy technologicznej: jest w nim własność intelektualna, konfiguracje systemów i dostępy do środowisk produkcyjnych. Luka daje atakującemu uprawnienia konta usługi Gitea, a więc wszystko, co to konto widzi.
Obszar biznesu
Potencjalny wpływ
Czas do wystąpienia
Koszty szacunkowe
Operacyjny
Wyłączenie Gitea na czas analizy, wstrzymanie wdrożeń i pracy zespołów programistycznych
Od razu po wykryciu
10 000-60 000 zł (przestój i praca zespołu)
Bezpieczeństwo danych
Wyciek kodu, haseł, tokenów i danych z bazy Gitea (adresy e-mail, konta użytkowników)
Minuty po ataku
20 000-100 000 zł (analiza powłamaniowa, wymiana wszystkich sekretów)
Finansowy
Koszt odtworzenia systemów, utracone zlecenia, możliwe żądanie okupu przy dalszym ataku
Dni do tygodni
50 000-500 000 zł
Reputacyjny
Utrata zaufania klientów, jeśli wyciekł ich kod lub trafiły do nich zatrute wersje
Tygodnie do miesięcy
Trudne do wyceny, możliwa utrata kluczowych kontraktów
Prawny
Obowiązek zgłoszenia naruszenia danych osobowych do UODO w ciągu 72 godzin, roszczenia klientów z umów
72 godziny od wykrycia naruszenia
Kary RODO do 20 mln EUR lub 4% rocznego obrotu (w praktyce zależne od skali i reakcji firmy) plus koszty prawne
Kwoty są orientacyjnymi widełkami dla małej i średniej firmy, nie danymi z tego incydentu.
Macierz ryzyka (dla serwera Gitea dostępnego z internetu, w wersji podatnej)
Interpretacja: pełne przejęcie serwera daje wpływ 5/5, a potwierdzone ataki, gotowy skrypt i domyślnie otwarta rejestracja dają prawdopodobieństwo 5/5; jeśli Gitea działa tylko w sieci wewnętrznej z wyłączoną rejestracją, prawdopodobieństwo spada, ale wpływ pozostaje krytyczny.
5. CO MUSISZ ZROBIĆ NATYCHMIAST?
Producent wydał poprawkę: Gitea 1.27.1 (27 lipca 2026 r.). Aktualizacja jest jedynym pełnym rozwiązaniem. Rozsądnie jest od razu przejść na najnowszą wersję z linii 1.27 (na dzień 17 września 2026 r. jest to 1.27.3), która zawiera także kolejne poprawki bezpieczeństwa.
Lp.
Priorytet
Działanie
Termin
Odpowiedzialny
1
🔴 NATYCHMIAST
Sprawdzić wersję wszystkich instancji Gitea (panel administratora lub /api/v1/version)
Dziś, w ciągu 1 godziny
Administrator IT
2
🔴 NATYCHMIAST
Zaktualizować Gitea do 1.27.1 lub nowszej (zalecane: najnowsza 1.27.x)
Dziś
Administrator IT / DevOps
3
🔴 NATYCHMIAST
Jeśli aktualizacja dziś jest niemożliwa: wyłączyć otwartą rejestrację i ograniczyć dostęp do serwera
Dziś
Administrator IT
4
🟠 PILNIE
Przegląd powłamaniowy: nowe konta, nowe repozytoria, żądania do diffpatch w logach, nieznane pliki hooków
Do jutra
Administrator IT / bezpieczeństwo
5
🟠 PILNIE
Przy jakimkolwiek podejrzeniu: wymiana sekretów z app.ini, haseł do bazy, tokenów OAuth i kluczy wdrożeniowych
Do jutra
DevOps
6
🟡 WAŻNIE
Sprawdzić, czy konto usługi Gitea ma minimalne uprawnienia i czy serwer jest odizolowany od reszty sieci
W ciągu 7 dni
Architekt IT
7
🟡 WAŻNIE
Wprowadzić stałe monitorowanie komunikatów bezpieczeństwa Gitea i katalogu CISA KEV
TAK. Komunikat bezpieczeństwa Gitea zawiera działający skrypt w Pythonie, a NVD wskazuje także zewnętrzne repozytorium z narzędziem dotyczącym tej luki
Liczba atakowanych firm
Brak publicznych danych
Kto zgłosił lukę
Badacz o pseudonimie NightRang3r
Wymóg CISA
Zastosowanie poprawek oraz przegląd śledczy (Forensics Triage)
Szczególnie niepokojące jest połączenie trzech czynników: gotowy skrypt ataku opublikowany razem z komunikatem, domyślnie otwarta rejestracja oraz to, że Gitea często działa na małych, samodzielnie utrzymywanych serwerach bez stałego nadzoru. Od publikacji poprawki minęło ponad siedem tygodni, więc serwery, które wciąż nie zostały zaktualizowane, należy traktować jako potencjalnie przejęte.
Linia czasu incydentu
2026-07-27: Gitea wydaje wersję 1.27.1 z poprawką (fix: git patch apply)2026-07-28: Publikacja komunikatu GHSA-rcr6-4jqh-j84m z opisem i skryptem PoC2026-08-25: CISA dodaje CVE-2026-60004 do katalogu KEV (aktywne ataki)2026-08-26: Publikacja CVE-2026-60004 w bazie NVD2026-08-28: Termin naprawy wyznaczony przez CISA2026-08-29: Gitea wydaje wersję 1.27.3 z kolejnymi poprawkami bezpieczeństwa2026-09-17: TUTAJ JESTEŚMY
7. BEZPOŚREDNI LINK DO DZIAŁANIA: checklista dla CTO/CFO
✓ Czy dostaliśmy potwierdzenie aktualizacji z numerem wersji, a nie tylko zapewnienie „zrobione”?
✓ Czy ktoś sprawdził, czy włamanie nie nastąpiło przed aktualizacją?
✓ Czy wiemy, jakie dane klientów i jaki kod są przechowywane w Gitea?
✓ Czy mamy kopię zapasową repozytoriów sprzed lipca 2026 r., z której można odtworzyć stan w razie wykrycia zmian?
✓ Czy nasi dostawcy oprogramowania, którzy przechowują nasz kod, też używają Gitea i czy zareagowali?
Podsumowanie
CVE-2026-60004 to krytyczna, aktywnie wykorzystywana luka w Gitea od 1.17 do 1.27.0, która pozwala uruchamiać polecenia na serwerze, a przy otwartej rejestracji może ją wykorzystać każdy z internetu. Poprawka jest dostępna od 27 lipca 2026 r. w wersji 1.27.1, więc liczy się aktualizacja i sprawdzenie, czy serwer nie został przejęty wcześniej.
Czytaj dalej
Powiązane artykuły
Zestaw zmienia się codziennie, więc przy kolejnej wizycie zobaczysz inny wycinek bloga.
Błąd w logowaniu platformy Kestra OSS pozwala bez hasła tworzyć i uruchamiać przepływy pracy, czyli wykonywać dowolne polecenia jako root. Microsoft opisał włamanie, CISA potwierdza ataki. Zaktualizuj dziś.
Luka o ocenie 10.0 w SonicWall SMA1000 daje dostęp do funkcji urządzenia bez logowania, a z CVE-2026-83549 pozwala je przejąć. SonicWall i CISA potwierdzają ataki. Zainstaluj hotfix i sprawdź urządzenie.
Google i CISA potwierdzają ukierunkowane ataki na lukę w modemie telefonów Pixel, które nie wymagają działania użytkownika. Zaktualizuj telefony do poziomu poprawek 2026-09-05, zaczynając od zarządu.
Klikając „Akceptuję”, zgadzasz się na przechowywanie plików cookie przez UXU w celu poprawy działania strony, analizy i wsparcia działań marketingowych.