Krytyczna podatność FortiSIEM z publicznym PoC umożliwia nieuwierzytelnione zdalne wykonanie kodu - Security Bez Tabu

Krytyczna podatność FortiSIEM z publicznym PoC umożliwia nieuwierzytelnione zdalne wykonanie kodu

Cybersecurity news

Wprowadzenie do problemu / definicja

W środowiskach przedsiębiorstw szczególnie niebezpieczne są podatności typu pre-auth RCE, czyli błędy pozwalające na zdalne wykonanie kodu bez wcześniejszego uwierzytelnienia. Tego rodzaju luki mogą prowadzić do pełnego przejęcia systemu przez napastnika przy minimalnym nakładzie działań operacyjnych. Najnowszy przypadek dotyczy platformy FortiSIEM, gdzie ujawniono krytyczną podatność CVE-2026-106173, a dodatkowo opublikowano publiczny kod PoC, co istotnie zwiększa ryzyko jej praktycznego wykorzystania.

W skrócie

CVE-2026-106173 to krytyczna podatność w FortiSIEM, umożliwiająca nieuwierzytelnionemu atakującemu doprowadzenie do wykonania nieautoryzowanego kodu lub poleceń poprzez odpowiednio przygotowane pakiety kierowane do usługi gRPC. Problem wynika z nieprawidłowej walidacji ścieżek oraz możliwości wykorzystania technik path traversal i wstrzyknięcia bajtu NUL. W praktyce błąd może prowadzić do nadpisania wybranych plików w systemie i eskalacji skutków do zdalnego wykonania kodu. Dodatkowym czynnikiem ryzyka jest dostępność działającego publicznie PoC, który obniża próg wejścia dla potencjalnych napastników.

Kontekst / historia

FortiSIEM jest rozwiązaniem klasy SIEM wykorzystywanym do agregacji zdarzeń, korelacji telemetrycznej i nadzoru nad infrastrukturą bezpieczeństwa. Kompromitacja takiej platformy ma wyjątkowo poważny charakter, ponieważ może umożliwić nie tylko przejęcie samego systemu, ale również manipulację danymi operacyjnymi, ukrywanie śladów aktywności oraz pozyskanie szerokiego kontekstu o środowisku organizacji.

W opisywanym przypadku producent opublikował poprawki dla podatnych wersji. Wskazano, że FortiSIEM 7.5.0 wymaga aktualizacji do wersji 7.5.1 lub nowszej, natomiast linia 7.6 nie jest podatna. Następnie badacze bezpieczeństwa udostępnili techniczny opis błędu oraz publiczne repozytorium PoC. Taki przebieg zdarzeń wpisuje się w standardowy cykl disclosure, ale dla obrońców oznacza konieczność pilnej weryfikacji ekspozycji i wdrożenia działań naprawczych bez zwłoki.

Analiza techniczna

Rdzeń problemu znajduje się w obsłudze żądań gRPC, a dokładniej w mechanizmie przetwarzania danych wejściowych powiązanych z handlerem QueryResultReq. Z ujawnionych informacji wynika, że podatny komponent akceptuje metadane pochodzące od klienta i wykorzystuje je podczas budowania ścieżki zapisu pliku bez odpowiedniego oczyszczania i walidacji.

Pierwszym elementem łańcucha ataku jest klasyczny path traversal. Atakujący może wprowadzić sekwencje przejścia katalogowego, takie jak „../”, aby opuścić oczekiwany katalog roboczy i skierować zapis do innej lokalizacji w systemie plików. Sam ten mechanizm nie dawałby jeszcze pełnej kontroli nad nazwą docelowego pliku, ponieważ aplikacja dopisywała własny sufiks do generowanej ścieżki.

Drugim elementem jest wykorzystanie bajtu NUL. Wstrzyknięcie znaku końca łańcucha do parametru sterującego ścieżką może spowodować, że dalsza część nazwy zostanie zignorowana przez warstwę systemową podczas otwierania pliku. W efekcie możliwe staje się nadpisanie konkretnego istniejącego pliku lub, w określonych wariantach, utworzenie nowego pliku o kontrolowanej nazwie. Połączenie path traversal i NUL-byte injection tworzy szczególnie niebezpieczny wzorzec, ponieważ zamienia prymityw arbitralnego zapisu pliku w praktyczny wektor RCE.

Istotnym szczegółem operacyjnym jest to, że usługa nasłuchuje na porcie TCP 27918. Opublikowany PoC wskazuje, że wykonanie poleceń odbywa się pośrednio, poprzez nadpisanie skryptu powłoki uruchamianego cyklicznie przez zadanie cron. Oznacza to, że wykonanie może nie być natychmiastowe, lecz następuje po wywołaniu mechanizmu harmonogramu, co jednocześnie utrudnia wykrycie ataku w czasie rzeczywistym i może sprawiać wrażenie opóźnionej aktywności.

Z perspektywy inżynierii bezpieczeństwa jest to przykład błędu typu arbitrary file write prowadzącego do code execution. Sama możliwość zapisu poza dozwolonym katalogiem bywa bardzo groźna, ale dopiero zestawienie jej z podatnym sposobem obsługi nazwy pliku i obecnością wykonywalnego celu w systemie tworzy pełny łańcuch kompromitacji.

Konsekwencje / ryzyko

Ryzyko związane z CVE-2026-106173 należy ocenić jako wysokie do krytycznego. Kluczowe czynniki to brak wymogu uwierzytelnienia, dostępność publicznego PoC oraz możliwość przejęcia systemu centralnego dla monitoringu bezpieczeństwa. Skuteczny atak może skutkować:

  • zdalnym wykonaniem poleceń na serwerze FortiSIEM,
  • trwałym osadzeniem się napastnika w środowisku,
  • modyfikacją lub niszczeniem logów i danych telemetrycznych,
  • obejściem mechanizmów wykrywania incydentów,
  • wykorzystaniem przejętego systemu do dalszego ruchu lateralnego,
  • pozyskaniem danych konfiguracyjnych, poświadczeń lub informacji o topologii środowiska.

Dla zespołów SOC dodatkowym zagrożeniem jest utrata zaufania do platformy analitycznej. Jeśli system SIEM zostanie skompromitowany, organizacja może utracić wiarygodność alertów, integralność danych historycznych i możliwość skutecznej rekonstrukcji incydentów.

Rekomendacje

Priorytetem powinno być niezwłoczne ustalenie, czy w środowisku działa podatna wersja FortiSIEM. Organizacje korzystające z wersji 7.5.0 powinny jak najszybciej przeprowadzić aktualizację do wersji 7.5.1 lub nowszej. Jeżeli aktualizacja nie może zostać wdrożona natychmiast, należy zastosować działania ograniczające ekspozycję.

  • zidentyfikować wszystkie instancje FortiSIEM w środowisku produkcyjnym, testowym i DR,
  • potwierdzić wersję oprogramowania oraz poziom załatania,
  • ograniczyć dostęp sieciowy do portu 27918 wyłącznie do zaufanych segmentów administracyjnych,
  • wdrożyć reguły filtrujące i monitorujące ruch do usługi gRPC,
  • przeanalizować logi pod kątem nietypowych żądań zawierających sekwencje path traversal,
  • sprawdzić integralność skryptów systemowych oraz plików wykonywanych cyklicznie przez cron,
  • zweryfikować, czy nie doszło do utworzenia lub nadpisania nietypowych plików w krytycznych lokalizacjach,
  • rozważyć czasową izolację instancji wystawionych do sieci publicznej,
  • uzupełnić monitoring o detekcje związane z próbami zapisu poza dozwolonym katalogiem,
  • przeprowadzić hunting pod kątem oznak utrwalenia dostępu i ruchu lateralnego.

Warto również wdrożyć kontrolę integralności plików dla najważniejszych komponentów systemowych oraz skryptów pomocniczych. W przypadku podejrzenia kompromitacji nie należy ograniczać się do samej aktualizacji, lecz przeprowadzić pełne działania IR, obejmujące analizę artefaktów, rotację poświadczeń i przegląd zaufania do danych zgromadzonych przez platformę.

Podsumowanie

CVE-2026-106173 to krytyczna podatność FortiSIEM, która łączy błąd path traversal z możliwością wykorzystania bajtu NUL do uzyskania arbitralnego zapisu pliku, a następnie zdalnego wykonania kodu bez uwierzytelnienia. Upublicznienie PoC znacząco podnosi poziom zagrożenia i skraca czas reakcji dostępny dla obrońców. Ze względu na rolę FortiSIEM w środowiskach przedsiębiorstw skuteczna eksploatacja może prowadzić do poważnych strat operacyjnych, utraty integralności telemetryki i osłabienia zdolności detekcyjnych organizacji. Najważniejszym działaniem pozostaje szybka aktualizacja, ograniczenie ekspozycji usługi gRPC oraz szczegółowa weryfikacja, czy system nie został już naruszony.

Źródła

  1. Critical FortiSIEM Flaw Gets Public Exploit PoC for Unauthenticated Remote Code Execution — https://thehackernews.com/2026/10/critical-fortisiem-flaw-gets-public.html
  2. GitHub – horizon3ai/CVE-2026-106173 — https://github.com/horizon3ai/CVE-2026-106173
  3. Fortinet PSIRT Advisory FG-IR-26-520 — https://fortiguard.fortinet.com/psirt/FG-IR-26-520
  4. Horizon3.ai Technical Analysis: CVE-2026-106173 Deep Dive — https://horizon3.ai/attack-research/cve-2026-106173-deep-dive-fortisiem-grpc-path-traversal-file-write-rce/