
Co znajdziesz w tym artykule?
- 1 Wprowadzenie do problemu / definicja luki
- 2 W skrócie
- 3 Kontekst / historia / powiązania
- 4 Analiza techniczna / szczegóły luki
- 5 Praktyczne konsekwencje / ryzyko
- 6 Rekomendacje operacyjne / co zrobić teraz
- 7 Różnice / porównania z innymi przypadkami (jeśli dotyczy)
- 8 Podsumowanie / kluczowe wnioski
- 9 Źródła / bibliografia
Wprowadzenie do problemu / definicja luki
Badacze Wiz ujawnili aktywnie wykorzystywaną lukę 0-day w Gogs — lekkim, samodzielnie hostowanym serwerze Git. Błąd oznaczono jako CVE-2025-8110 i dotyczy niewłaściwej obsługi symlinków w API PutContents. Pozwala to uwierzytelnionemu atakującemu nadpisać pliki poza katalogiem repozytorium, co przekłada się na zdalne wykonanie kodu (RCE). Według Wiz, ponad 700 publicznie dostępnych instancji Gogs nosi ślady kompromitacji; poprawki oficjalnie jeszcze nie ma.
W skrócie
- Identyfikator: CVE-2025-8110 (CVSS 7.8).
- Status: brak łatki w momencie publikacji (10–12 grudnia 2025); utrzymująca się eksploatacja od co najmniej 1 grudnia.
- Zakres: wersje ≤ 0.13.3, zwłaszcza instancje wystawione do Internetu z otwartą rejestracją (domyślnie włączona).
- Skala: ~1 400 wystawionych serwerów; 700+ potwierdzonych kompromitacji.
- Przyczyna: obejście poprzedniej poprawki CVE-2024-55947 poprzez symlinki.
Kontekst / historia / powiązania
CVE-2025-8110 to obejście poprawki dla CVE-2024-55947 (trawersja ścieżek w API), które dodało walidację „ścieżki” — ale nie sprawdzało, dokąd wskazuje symlink. Podobne problemy z bezpieczeństwem Gogs były już wcześniej opisywane (m.in. CVE-2024-39930/31/32/33), a utrzymanie projektu bywało krytykowane za opieszałość w usuwaniu błędów. SonarSource już w 2024 r. rekomendował rozważenie migracji do Gitea (fork Gogs) jako aktywniej utrzymywanej alternatywy.
Analiza techniczna / szczegóły luki
Wektor nadużycia (wysoki poziom):
- Atakujący zakłada repozytorium (prawo tworzenia repo jest domyślnie dostępne po rejestracji), 2) w repo umieszcza symlink wskazujący poza katalog repo, 3) używa API
PutContents, które nadpisuje plik docelowy, 4) nadpisuje.git/config(polesshCommand), uzyskując RCE z uprawnieniami procesu Gogs. Mechanika jest trywialna dla każdego użytkownika z prawem tworzenia repozytoriów.
Warunki powodzenia:
- Serwer Gogs wystawiony do Internetu i z włączoną otwartą rejestracją (domyślnie).
- Wersja Gogs 0.13.3 lub starsza.
Artefakty kompromitacji zaobserwowane przez Wiz:
- Masowo tworzone konta i repozytoria o losowych 8-znakowych nazwach (owner/repo).
- Wspólny wzorzec czasowy pierwszej fali: 10 lipca 2025.
- Wykorzystanie frameworka Supershell jako C2; przykładowe IOC:
119.45.176[.]196(C2), sumy SHA-1 dwóch próbek malware (podane przez Wiz).
Dowody i relacje w mediach: informacje Wiz potwierdzają m.in. SecurityWeek oraz The Register, wskazując na >700 naruszeń i brak dostępnej łatki w chwili publikacji.
Praktyczne konsekwencje / ryzyko
- Ryzyko wycieku i sabotażu kodu: odczyt, modyfikacja i wstrzykiwanie backdoorów do prywatnych repozytoriów; możliwość „supply-chain” poprzez artefakty CI/CD.
- Rozszerzenie przyczółka: serwer Gogs bywa ulokowany w strefach z dostępem do systemów buildowych; RCE umożliwia lateral movement.
- Przestój zespołów dev: blokada repo, utrata integralności commitów, konieczność odtwarzania i przeglądu łańcucha dostaw. (Wniosek na podstawie powyższej techniki ataku).
- Ryzyko reputacyjne i zgodności: możliwe naruszenia wymogów wytwarzania bezpiecznego oprogramowania (np. NIS2/DORA w UE).
Rekomendacje operacyjne / co zrobić teraz
Działania „tu i teraz” (0–24 h):
- Wyłącz otwartą rejestrację (Open Registration) na wszystkich instancjach Gogs.
- Ogranicz ekspozycję do Internetu: wstaw za VPN/reverse proxy i allow-listę IP; jeśli to możliwe, czasowo odłącz publiczny dostęp.
- Hunting/IR:
- Wyszukaj nowo utworzone repozytoria o losowych 8-znakowych nazwach (owner/repo).
- Przejrzyj logi pod kątem nietypowego użycia API
PutContents. - Sprawdź, czy
.git/confignie był nadpisywany (polesshCommand).
- IOC/ekosystem: sprawdź komunikację z hostami C2 wskazanymi przez Wiz i znanymi sumami hash binarek (Supershell).
- Zarządzanie wersjami: jeżeli musisz utrzymywać Gogs, trzymaj instancję za uwierzytelnionym frontem i zablokuj rejestrację do czasu pojawienia się oficjalnej łatki.
Działania krótkoterminowe (1–7 dni):
- Asset discovery: przeszukaj sieć pod kątem instancji Gogs; runZero opisuje prosty sygnatury/filtr (np. hash favikony) pomocne w wykryciu zasobów.
- Hardening: uruchamiaj Gogs jako nie-uprzywilejowany użytkownik, w kontenerze z read-only rootfs i profilami AppArmor/SELinux ograniczającymi skutki RCE (najlepiej z minimalnym zestawem syscalów). (Dobre praktyki wynikające z natury RCE).
- Kontrole detekcyjne: reguły SIEM/EDR pod
PutContentsoraz modyfikacje.git/config; alerty na tworzenie repo z losowymi nazwami.
Działania średnioterminowe (7–30 dni):
- Ocena alternatyw: rozważ migrację do Gitea (aktywnie utrzymywany fork) — w 2024 r. SonarSource nie stwierdził w nim badanych problemów, a projekt ma szybszy cykl poprawek.
- Segmentacja i Zero Trust dla narzędzi Dev: repozytoria i CI/CD w dedykowanych strefach, z kontrolą dostępu na poziomie sieci i tożsamości.
Różnice / porównania z innymi przypadkami (jeśli dotyczy)
- CVE-2024-55947 vs. CVE-2025-8110: pierwszy błąd naprawiono walidacją ścieżki, jednak obejście symlinkiem przywraca możliwość zapisu poza repozytorium — to klasyczny przykład „bypassu” łatki.
- Gogs vs. Gitea: oba projekty są pokrewne, lecz to Gitea wykazuje obecnie większą responsywność na raporty bezpieczeństwa; niezależne badania wskazywały na utrzymujące się luki w Gogs.
Podsumowanie / kluczowe wnioski
- Luka CVE-2025-8110 jest aktywnie wykorzystywana, a łatki brak — ekspozycja Internet + otwarta rejestracja = wysokie ryzyko.
- Skala kompromitacji jest znacząca (700+ instancji), a wektor prosty (symlink +
PutContents+ nadpisanie.git/config). - Natychmiast: zamknij rejestrację, zdejmij z Internetu lub ogranicz dostęp, poluj na artefakty, monitoruj IoC.
- Strategicznie: wzmocnij hardening i rozważ migrację do lepiej utrzymywanego forka.
Źródła / bibliografia
- Wiz Research — szczegóły techniczne, IoC, skala kompromitacji. (wiz.io)
- SecurityWeek — omówienie incydentu, status łatki, liczby. (SecurityWeek)
- runZero — identyfikacja zasobów, wersje podatne, praktyczne wskazówki wykrywania. (runZero)
- The Register — potwierdzenie ataków, 700+ instancji, brak natychmiastowej poprawki. (The Register)
- SonarSource (2024) — kontekst historyczny problemów bezpieczeństwa Gogs i rekomendacja migracji do Gitea. (sonarsource.com)