
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
Fortinet FortiSIEM (SIEM/UEBA) dostał krytyczną podatność umożliwiającą zdalne wykonanie poleceń/kodu bez uwierzytelnienia w wyniku błędnej neutralizacji elementów w wywołaniu komendy systemowej (CWE-78). Luka jest śledzona jako CVE-2025-64155 i – co najważniejsze operacyjnie – ma już upubliczniony PoC/exploit, co zwykle znacząco przyspiesza adopcję przez atakujących.
Uwaga porządkująca nazewnictwo: część publikacji nagłośniła temat pod wcześniejszym identyfikatorem CVE-2025-25256 (sierpień 2025). Badacze opisują jednak, że dalsza analiza doprowadziła do odkrycia nowej, łańcuchowej podatności i przypisania jej CVE-2025-64155.
W skrócie
- Co to jest: zdalna, nieuwierzytelniona podatność prowadząca do RCE i w typowym scenariuszu do pełnej kompromitacji (root).
- Gdzie: FortiSIEM – problem dotyczy usług komunikacyjnych phMonitor (wskazywany port TCP/7900 jako kluczowy punkt ekspozycji/mitigacji).
- Wersje podatne (przykładowe zakresy): 6.7.0–6.7.10, 7.0.0–7.0.4, 7.1.0–7.1.8, 7.2.0–7.2.6, 7.3.0–7.3.4 oraz 7.4.0.
- Status eksploitu: PoC opublikowany, brak potwierdzonych raportów o masowym „in-the-wild” w momencie publikacji analiz (ale ryzyko gwałtownie rośnie).
- Najważniejsze działanie: patch/upgrade + natychmiastowe odcięcie dostępu do TCP/7900 z sieci niezaufanych.
Kontekst / historia / powiązania
Badacze z Horizon3.ai wskazują, że phMonitor był już historycznie „wejściem” do kilku podatności w FortiSIEM (wspominane m.in. CVE-2023-34992 i CVE-2024-23108), a zainteresowanie podatnościami Fortinetu bywa wysokie także po stronie grup ransomware (w kontekście FortiSIEM przywołano wątek zainteresowania w wyciekach czatów).
W praktyce to klasyczny wzorzec: produkt infrastrukturalny (SIEM) często stoi wysoko w zaufaniu sieciowym, a kiedy pojawia się RCE bez auth + PoC, czas do prób skanowania/ataku w internecie zwykle skraca się do godzin–dni.
Analiza techniczna / szczegóły luki
Z perspektywy technicznej, opis Horizon3.ai jest szczególnie istotny, bo pokazuje nie tylko „command injection”, ale łańcuch prowadzący do roota:
- Brak uwierzytelnienia do handlerów w phMonitor
phMonitor mapuje dziesiątki handlerów operacji (komendy/typy żądań) i – kluczowo – część z nich jest dostępna zdalnie bez autoryzacji. - Wejście przez obsługę żądania storage typu
elastic
W określonym przepływie parametry z payloadu (XML) trafiają do skryptuelastic_test_url.shjako argumenty. Wprowadzono warstwę „utwardzania” (np. owijanie argumentów w cudzysłowy), ale… - Argument injection do
curlzamiast klasycznego command injection
Skrypt buduje komendęcurl, a następnie ją wykonuje. Badacze pokazują, że da się „wstrzyknąć” dodatkowe argumentycurl(np. zapis do pliku) – finalnie wykorzystując funkcję--next, która pozwala łańcuchować żądania w jednej instancjicurl. To omija część ochrony wynikającej z cytowania argumentów. - Arbitrary file write jako użytkownik uprzywilejowany (admin), a potem eskalacja do roota
W demonstracji plik wykonywalny cyklicznie uruchamiany w systemie jest nadpisywany, co daje shell jako „admin”, a następnie wykorzystywany jest fakt, że pewne pliki wykonywane przez root są zapisywalne przez admin (np. skrypt uruchamiany z crona), co prowadzi do root.
Dodatkowo BleepingComputer zwraca uwagę na praktyczny trop detekcyjny: w logach phMonitor (/opt/phoenix/log/phoenix.logs) warto szukać wpisów zawierających m.in. PHL_ERROR i wskazania URL payloadu oraz docelowej ścieżki zapisu.
Praktyczne konsekwencje / ryzyko
Dlaczego to „pali się” bardziej niż typowa podatność?
- Brak uwierzytelnienia + zdalny wektor sieciowy → niski próg ataku, szybka automatyzacja skanami.
- PoC publicznie dostępny → rośnie prawdopodobieństwo masowych prób, nawet jeśli wcześniej brak było obserwacji „in-the-wild”.
- FortiSIEM jako „high-trust asset”: kompromitacja SIEM to nie tylko RCE na serwerze – to często dostęp do integracji, kluczy, tokenów, poświadczeń do kolektorów i systemów logowania, a także idealny punkt do ruchu bocznego.
Rekomendacje operacyjne / co zrobić teraz
1) Patch/upgrade – priorytet P1
Zgodnie z dostępnymi zestawieniami wersji naprawionych:
- 7.4: aktualizuj do 7.4.1+
- 7.3: do 7.3.5+
- 7.2: do 7.2.7+
- 7.1: do 7.1.9+
- Linie 6.7 i 7.0: rekomendowana migracja do wspieranej, naprawionej wersji (zamiast oczekiwania na łatkę).
2) Ogranicz ekspozycję phMonitor (TCP/7900) – natychmiast
Jeśli nie możesz zapatchować od razu, wdrożenie kontroli dostępu do portu 7900 (tylko z zaufanych segmentów/hostów) jest wskazywane jako workaround.
Minimalny baseline:
- zablokuj TCP/7900 z Internetu i sieci użytkowników,
- dopuść wyłącznie komunikację wymaganą topologią (kolektory ↔ supervisor),
- dodaj alerty na nietypowe źródła ruchu do 7900.
3) Detekcja i triage
- Przeszukaj logi:
/opt/phoenix/log/phoenix.logspod kątem anomalii i wzorców typuPHL_ERRORoraz podejrzanych ścieżek zapisu. - Sprawdź integralność/zmiany w lokalizacjach wskazywanych w analizie (przykładowo pliki nadpisywane w scenariuszu PoC) i wykonaj szybki hunting pod kątem „nagle zmienionych” plików wykonywalnych/skryptów.
4) Po incydencie lub podejrzeniu kompromitacji
- rotacja kluczy/poświadczeń dostępnych z FortiSIEM (integracje, konta serwisowe, tokeny),
- przegląd połączeń wychodzących (reverse shell / nietypowe egress),
- weryfikacja cronów i plików uruchamianych cyklicznie.
Różnice / porównania z innymi przypadkami (jeśli dotyczy)
Warto zwrócić uwagę na różnicę jakościową: wiele błędów klasy „OS command injection” to pojedynczy punkt wstrzyknięcia. Tutaj badacze opisują argument injection do curl + arbitralny zapis pliku + eskalację przez błędne uprawnienia plików wykonywanych przez roota. To podejście jest szczególnie „produkcyjne” dla atakujących, bo:
- pozwala obejść część utwardzeń (cytowanie argumentów),
- daje stabilny prymityw (write-what-where w granicach uprawnień),
- łatwo przerobić na trwałość (persistencję) przez pliki wykonywane cyklicznie.
Podsumowanie / kluczowe wnioski
- CVE-2025-64155 to krytyczna podatność FortiSIEM umożliwiająca unauth RCE i typowo root w wyniku łańcucha błędów/konfiguracji.
- Publiczny exploit/PoC znacząco zwiększa presję na szybkie działania obronne.
- Najważniejsze kroki: aktualizacja do wersji naprawionych + odcięcie/ograniczenie TCP/7900 + szybki hunting w logach phMonitor.
Źródła / bibliografia
- BleepingComputer – informacja o upublicznieniu exploitu/PoC, mitigacji (port 7900) i wskazówkach dot. logów. (BleepingComputer)
- Horizon3.ai – techniczny write-up łańcucha: phMonitor →
elastic_test_url.sh→ argument injection docurl→ zapis pliku → eskalacja do roota. (Horizon3.ai) - Tenable – podsumowanie ryzyka, kontekst oraz tabela wersji podatnych/naprawionych. (Tenable®)
- NVD (NIST) – opis CVE i zakresy podatnych wersji. (NVD)