Krytyczna luka 0-day w Gogs (CVE-2025-8110) aktywnie wykorzystywana — ponad 700 serwerów skompromitowanych

securitybeztabu.pl 1 dzień temu

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):

  1. 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):

  1. Wyłącz otwartą rejestrację (Open Registration) na wszystkich instancjach Gogs.
  2. Ogranicz ekspozycję do Internetu: wstaw za VPN/reverse proxy i allow-listę IP; jeżeli to możliwe, czasowo odłącz publiczny dostęp.
  3. 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).
  4. IOC/ekosystem: sprawdź komunikację z hostami C2 wskazanymi przez Wiz i znanymi sumami hash binarek (Supershell).
  5. 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

  1. Wiz Research — szczegóły techniczne, IoC, skala kompromitacji. (wiz.io)
  2. SecurityWeek — omówienie incydentu, status łatki, liczby. (SecurityWeek)
  3. runZero — identyfikacja zasobów, wersje podatne, praktyczne wskazówki wykrywania. (runZero)
  4. The Register — potwierdzenie ataków, 700+ instancji, brak natychmiastowej poprawki. (The Register)
  5. SonarSource (2024) — kontekst historyczny problemów bezpieczeństwa Gogs i rekomendacja migracji do Gitea. (sonarsource.com)
Idź do oryginalnego materiału