FortiWeb: luka typu path traversal (publiczny PoC) aktywnie wykorzystywana do tworzenia kont administratora - Security Bez Tabu

FortiWeb: luka typu path traversal (publiczny PoC) aktywnie wykorzystywana do tworzenia kont administratora

Wprowadzenie do problemu / definicja luki

Na urządzeniach Fortinet FortiWeb (WAF) ujawniono i jest aktywnie wykorzystywane obejście uwierzytelniania prowadzące do tworzenia lokalnych kont administratora. Wektor ataku to path traversal na specyficznym endpointcie API, który pozwala napastnikowi wysłać żądanie HTTP i zarejestrować konto z uprawnieniami admina — bez podawania poświadczeń. Publiczne PoC i narzędzia detekcyjne są już dostępne, a ataki są masowo „sprayowane” z wielu adresów IP. Fortinet wydał wersję FortiWeb 8.0.2, która blokuje znany wektor (choć formalny wpis PSIRT odpowiadający dokładnie tej luce nie był jeszcze dostępny w chwili pierwszych publikacji).


W skrócie

  • Co się dzieje? Publiczny exploit wykorzystuje path traversal do wywołania wewnętrznego CGI i stworzenia lokalnego konta admina na FortiWeb.
  • Jakie wersje? Exploit działał na 8.0.1 i starszych, a nie działa na 8.0.2 według niezależnych testów (Rapid7).
  • Status producenta? Wydano 8.0.2 (release notes), brak pierwotnie dedykowanego PSIRT dla tej konkretnej luki w momencie publikacji newsów. Aktualizuj i monitoruj PSIRT.
  • IOC-e? Zgłoszono m.in. źródłowe IP (np. 107.152.41.19, 144.31.1.63, zakres 185.192.70.0/24) oraz przykładowe nazwy użytkowników („Testpoint”, „trader1”) i hasła występujące w payloadach.
  • Co zrobić teraz? Natychmiast zaktualizować do 8.0.2, odciąć panel zarządzania od Internetu, przejrzeć konta adminów, sprawdzić logi pod kątem żądań do fwbcgi i podanych IOC.

Kontekst / historia / powiązania

  • 6 października 2025: firma Defused rejestruje „nieznany exploit Fortinet” na honeypocie i publikuje sygnał w mediach społecznościowych.
  • Październik–listopad: skala ataków rośnie; pojawiają się artefakty payloadów tworzących konta admina oraz listy adresów IP źródłowych.
  • Koniec października / początek listopada: Fortinet publikuje FortiWeb 8.0.2 (build 0060).
  • 13 listopada 2025: Rapid7 publikuje analizę i potwierdza, że publiczny exploit nie działa na 8.0.2, działa na 8.0.1.
  • Równolegle: watchTowr Labs udostępnia narzędzie detekcyjne („Authentication Bypass Artifact Generator”) pomagające obronie w walidacji podatności.

Analiza techniczna / szczegóły luki

Wektor i endpoint

Badacze wskazują na path traversal przez punkt:

/api/v2.0/cmdb/system/admin%3f/../../../../../cgi-bin/fwbcgi

Żądanie POST z odpowiednio przygotowanym payloadem tworzy lokalne konto administratora. W logach widać następnie udane logowanie na nowo utworzony użytkownik.

Artefakty (przykładowe)

  • Nazwy użytkowników: Testpoint, trader1, trader
  • Hasła (przykładowe, obserwowane w dziczy): np. AFT3$tH4ck, AFT3$tH4ckmet0d4yaga!n, inne jednorazowe ciągi.
  • Źródłowe IP: 107.152.41.19, 144.31.1.63, zakres 185.192.70.0/24, 64.95.13.8, itd.
    Te artefakty ułatwiają triage i threat hunting, ale nie należy ich traktować jako wyczerpującej listy IOCs.

Status wersji i łagodzenie w 8.0.2

Rapid7 wykazał, że na FortiWeb 8.0.1 exploit sukcesywnie tworzy konto admina (HTTP 200 OK z JSON potwierdzającym utworzenie), a na 8.0.2 zwraca 403 Forbidden. To silna przesłanka, że 8.0.2 zawiera zmiany blokujące znany wektor (nawet jeśli vendor nie opisał ich jako „security fix” wprost).
Release notes dla 8.0.2 są dostępne publicznie (build 0060).


Praktyczne konsekwencje / ryzyko

  • Pełne przejęcie panelu: utworzenie konta z prof_admin lub równoważnym profilem dostępu to w praktyce pełna kontrola nad FortiWeb (zmiany polityk, upload certyfikatów, modyfikacje routingu/connectorów, eksport konfiguracji).
  • Pivoting do sieci wewnętrznej: FortiWeb jako bramka dla aplikacji bywa podłączony do segmentów o wyższej wrażliwości; atakujący może przeprowadzić lateral movement lub manipulacje ruchem L7.
  • Ukryta trwałość: atakujący może zakładać drugie (ukryte) konto, zmieniać ACL-e do panelu, wgrywać backdoory (np. przez integracje / connector).
  • Wpływ na ciągłość usług: zmiany polityk WAF mogą spowodować DoS aplikacyjny (fałszywe bloki) albo rozszczelnienie ochrony (allow-all).

Rekomendacje operacyjne / co zrobić teraz

Poniższe kroki są uporządkowane wg priorytetu „incydent już trwa / aktywny exploit”.

1) Patch & izolacja zarządzania

  1. Natychmiast zaktualizuj do FortiWeb 8.0.2 (build 0060). Zweryfikuj wersję po aktualizacji.
    Dokumentacja i release notes: 8.0.2.
  2. Odizoluj interfejs zarządzania: dostęp tylko z sieci zaufanej / VPN, żadnej ekspozycji do Internetu.

2) Szybki threat hunting (żądania do fwbcgi, nowe konta)

Na serwerze SIEM / w logach WAF wyszukaj żądania POST do fwbcgi z podejrzanych źródeł:

Splunk

index=fortiweb sourcetype=fortiweb:access OR sourcetype=fortiweb:system
| rex field=uri_path "(?<endpoint>fwbcgi)"
| search method=POST endpoint=fwbcgi
| stats count by _time, src_ip, http_status, uri, user, user_agent

Elastic (KQL)

(event.dataset: "fortiweb.*" and http.request.method:"POST" and url.path:*fwbcgi*)
| stats count by source.ip, http.response.status_code, url.full, user_agent.original, @timestamp

Grep (jeśli logi dostępne na hostach kolektorów)

grep -Rin "POST .*fwbcgi" /var/log/fortiweb/ 2>/dev/null

Dodatkowo przefiltruj po znanych IOC (przykładowe IP z raportów) oraz po user-agentach nietypowych dla panelu.

3) Audyt kont administratorów

W panelu/CLI przejrzyj listę lokalnych adminów i szukaj niespodziewanych wpisów (np. Testpoint, trader1, losowe ciągi).
Przykładowe (CLI FortiWeb – składnia zbliżona do FortiOS):

config system admin
    show
end

Jeśli pojawią się konta „obce”:

config system admin
    delete <nazwa_konta>
end

Następnie: wymuś rotację haseł dla wszystkich kont uprzywilejowanych i przejrzyj audit logi (kto i skąd się logował).

4) Weryfikacja wersji i reguł dostępowych

get system status            # sprawdź wersję FortiWeb (oczekiwane 8.0.2)
config system interface      # ogranicz źródła zarządzania do mgmt-VPN/subnetów
config system global
    set admin-scp enable
    set admin-https-redirect enable
end

Dodatkowo włącz listy zaufanych hostów (trust hosts) dla kont admina.

5) Telemetria, detekcje i blokady

  • WAF/NGFW przed panelem zarządzania: wymuś allowlistę źródeł (src IP) do portów admin (HTTPS/SSH).
  • Reguła IDS/IPS: sygnatura na URI zawierające admin%3f/../../../../../cgi-bin/fwbcgi (ew. normalizacja URL!).
  • watchTowr – artifact generator: użyj tylko w bezpiecznym labie do walidacji czy instancja jest podatna (nie uruchamiać przeciw środowiskom produkcyjnym bez autoryzacji!).

6) IR: jeśli wykryto kompromitację

  1. Odłącz panel od sieci zewnętrznej.
  2. Zrzut konfiguracji (na dowód), potem zmiana wszystkich kluczy/sekretów powiązanych z FortiWeb (w tym poświadczeń do backendów, connectorów).
  3. Rebuild/upgrade do 8.0.2, import czystej (przejrzanej) konfiguracji.
  4. Review ruchu aplikacyjnego – czy polityki WAF nie zostały celowo poluzowane.

Różnice / porównania z innymi przypadkami (np. CVE-2025-25257)

  • Bieżący incydent: path traversal z obejściem auth prowadzący do tworzenia lokalnych kont admina (publiczny PoC, aktywne nadużycia). Brak jednoznacznie przypisanej CVE w chwili pierwszych publikacji; 8.0.2 blokuje znany wektor.
  • CVE-2025-25257 (lipiec 2025): pre-auth SQLi → RCE w FortiWeb Fabric Connector (inne miejsce, inny łańcuch). watchTowr opublikował szczegóły techniczne i repo dla tego CVE. Nie należy mylić tych spraw — to odrębne podatności i różne ścieżki ataku.
  • CVE-2025-25254/FG-IR-25-512: wcześniejsze path traversal wymagające uprawnień admina (PR:H), odmienny profil ryzyka niż obecny unauth wektor.

Podsumowanie / kluczowe wnioski

  • Atak jest aktywny w Internecie i pozwala bezuwierzytelnieniowo tworzyć konta admina na podatnych FortiWeb.
  • Aktualizacja do 8.0.2 jest dziś praktycznie warunkiem koniecznym; dodatkowo zamykanie panelu do sieci zaufanych to „must-have”.
  • Przejrzyj konta adminów, logi do fwbcgi, oraz IOC opublikowane przez badaczy.
  • Utrzymuj monitoring PSIRT Fortinet i publikacji branżowych, bo sytuacja może ewoluować.

Źródła / bibliografia

  1. BleepingComputer — opis incydentu, endpoint, IOC, status 8.0.2. (BleepingComputer)
  2. Rapid7 — testy 8.0.1 vs 8.0.2, wnioski operacyjne. (Rapid7)
  3. PwnDefend/Defused — technikalia (endpoint, przykładowe IP/nicki/hasła). (pwndefend.com)
  4. watchTowr Labs (GitHub) — artifact generator do walidacji/detekcji auth bypass. (GitHub)
  5. Fortinet — dokumentacja / release notes FortiWeb 8.0.2 (build 0060). (docs.fortinet.com)
    (Przy porównaniach dodatkowo: watchTowr blog + repo CVE-2025-25257, NVD/PSIRT wcześniejszych luk.) (watchTowr Labs)