Krytyczne luki w Git Gogs
Git Gogs, popularna usługa do zarządzania kodem źródłowym, stała się celem badaczy bezpieczeństwa, którzy odkryli cztery niezałatane luki w zabezpieczeniach. Wśród nich trzy są sklasyfikowane jako krytyczne, co może mieć poważne konsekwencje dla użytkowników korzystających z tego oprogramowania. Thomas Chauchefoin i Paul Gerste z SonarSource poinformowali o następujących lukach:
- CVE-2024-39930 (CVSS 9.9) – Wstrzyknięcie argumentu do wbudowanego serwera SSH
- CVE-2024-39931 (CVSS 9.9) – Usunięcie plików wewnętrznych
- CVE-2024-39932 (CVSS 9.9) – Wstrzykiwanie argumentów podczas podglądu zmian
- CVE-2024-39933 (CVSS 7.7) – Wstrzykiwanie argumentów podczas tagowania nowych wydań
Wykorzystanie tych luk może pozwolić atakującemu na wykonanie dowolnych poleceń na serwerze Gogs. Przykładowo, luki te umożliwiają odczytanie i modyfikację kodu źródłowego, jego usunięcie oraz atakowanie wewnętrznych hostów dostępnych z serwera Gogs.
Warto zaznaczyć, że wszystkie cztery luki wymagają uwierzytelnienia atakującego. Wyzwolenie CVE-2024-39930 wymaga dodatkowo, aby wbudowany serwer SSH był włączony, a atakujący posiadał ważny klucz prywatny SSH. Instancje działające na systemach Windows oraz obraz Docker nie są podatne na te luki, jednakże instancje na Debianie i Ubuntu są narażone ze względu na obsługę opcji „--split-string” przez plik binarny env.
Rekomendacje i dalsze kroki
SonarSource zaleca natychmiastowe podjęcie działań mających na celu zminimalizowanie ryzyka związanego z odkrytymi lukami. Użytkownikom zaleca się:
- Wyłączenie wbudowanego serwera SSH.
- Wyłączenie rejestracji użytkowników, aby zapobiec masowemu wykorzystaniu luk.
- Rozważenie przejścia na alternatywne oprogramowanie, takie jak Gitea.
SonarSource opracował także poprawkę, którą użytkownicy mogą zastosować, jednakże firma podkreśla, że nie została ona jeszcze dokładnie przetestowana. Brak reakcji zespołu odpowiedzialnego za projekt Gogs budzi dodatkowe obawy. Po zaakceptowaniu wstępnego raportu 28 kwietnia 2023 r., zespół nie wdrożył poprawek ani nie kontynuował komunikacji w tej sprawie.
Zgodnie z danymi z bazy Shodan, na całym świecie dostępnych jest publicznie około 7300 instancji Gogs, z czego prawie 60% znajduje się w Chinach, a reszta głównie w Stanach Zjednoczonych, Niemczech, Rosji i Hongkongu. Nie jest jednak jasne, ile z tych instancji jest podatnych na odkryte luki.
Sekrety widmowe. Nowe zagrożenie w systemach SCM
Problem luk w Git Gogs uwidacznia szerszy problem bezpieczeństwa w systemach zarządzania kodem źródłowym (SCM). Firma Aqua, specjalizująca się w bezpieczeństwie chmurowym, odkryła, że poufne informacje, takie jak tokeny dostępu i hasła, mogą pozostawać trwale ujawnione nawet po ich usunięciu z systemów SCM opartych na Git.
Zjawisko to, nazywane sekretami widmowymi, wynika z faktu, że tradycyjne metody skanowania nie są w stanie wykryć tych sekretów, które pozostają dostępne poprzez „widoki pamięci podręcznej” w SCM. Oznacza to, że nawet jeśli commit zawierający sekret zostanie usunięty, nadal można uzyskać do niego dostęp, jeśli ktoś zna skrót commita. „Zatwierdzenia pozostają dostępne poprzez 'widoki pamięci podręcznej' w SCM,” zauważyli badacze bezpieczeństwa Yakir Kadkoda i Ilay Goldman.
Ten przypadek uwypukla potrzebę ciągłego monitorowania i aktualizowania narzędzi zabezpieczających oraz podkreśla znaczenie szybkiej reakcji na odkryte luki w oprogramowaniu open-source, aby chronić integralność i bezpieczeństwo kodu źródłowego.