
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 (pole sshCommand), uzyskując RCE z uprawnieniami procesu Gogs. Mechanika jest trywialna dla wszystkich 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 wymagań wytwarzania bezpiecznego systemu (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żeli 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/config nie był nadpisywany (pole sshCommand).
- IOC/ekosystem: sprawdź komunikację z hostami C2 wskazanymi przez Wiz i znanymi sumami hash binarek (Supershell).
- Zarządzanie wersjami: o ile 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 PutContents oraz 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, ale to Gitea wykazuje w tej chwili większą responsywność na raporty bezpieczeństwa; niezależne badania wskazywały na utrzymujące się luki w Gogs.
Podsumowanie / najważniejsze 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)




