
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
W oprogramowaniu FUXA, wykorzystywanym do wizualizacji procesów przemysłowych w środowiskach SCADA i HMI, ujawniono krytyczną podatność oznaczoną jako CVE-2026-25895. Problem wynika z połączenia błędu path traversal oraz braku właściwego uwierzytelniania dla wrażliwego mechanizmu uploadu plików.
W praktyce oznacza to, że zdalny, nieautoryzowany atakujący może zapisywać pliki w dowolnych lokalizacjach dostępnych dla procesu aplikacji. W odpowiednich warunkach taki scenariusz może prowadzić również do zdalnego wykonania kodu na serwerze.
W skrócie
Podatność dotyczy wersji FUXA do 1.2.9 włącznie i została usunięta w wydaniu 1.2.10. Źródłem problemu był endpoint POST /api/upload, który nie był poprawnie chroniony oraz pozwalał manipulować ścieżką docelową za pomocą parametru destination.
- atak nie wymaga logowania,
- możliwy jest arbitralny zapis plików,
- podatność może prowadzić do RCE,
- ryzyko jest szczególnie wysokie w środowiskach OT i ICS.
Kontekst / historia
FUXA to webowa platforma służąca do tworzenia interfejsów operatorskich, dashboardów i wizualizacji procesów. Tego typu rozwiązania często pełnią ważną rolę pośrednią między personelem operacyjnym a systemami przemysłowymi, dlatego ich bezpieczeństwo ma znaczenie nie tylko dla warstwy IT, ale również dla ciągłości działania procesów technologicznych.
Opisany problem zwraca uwagę, ponieważ dotyczy komponentu, który może być eksponowany sieciowo i obsługiwać wrażliwe operacje administracyjne. W środowiskach przemysłowych kompromitacja serwera wizualizacyjnego może skutkować nie tylko naruszeniem danych, ale także manipulacją konfiguracją, interfejsem operatorskim oraz dostępnością systemu nadzorczego.
Analiza techniczna
Rdzeniem podatności był endpoint POST /api/upload, który według opisu nie wymuszał właściwej kontroli dostępu. Oznacza to, że krytyczna funkcja związana z przesyłaniem plików mogła zostać osiągnięta bez poprawnej autoryzacji, nawet jeśli w aplikacji aktywne były mechanizmy bezpieczeństwa.
Drugim elementem problemu była niewłaściwa walidacja ścieżki zapisu. Parametr destination pozwalał wpływać na lokalizację docelową w sposób, który nie ograniczał zapisu wyłącznie do bezpiecznego katalogu roboczego. Atakujący mógł użyć sekwencji traversal, aby opuścić katalog aplikacji i skierować plik do innych lokalizacji systemowych.
Typowy łańcuch eksploatacji wyglądał następująco:
- dostęp do niechronionego endpointu uploadu,
- przekazanie spreparowanej ścieżki w parametrze
destination, - zapis pliku w arbitralnej lokalizacji,
- wykorzystanie zapisanego pliku do osiągnięcia wykonania kodu lub trwałości dostępu.
W zależności od środowiska skuteczne wykorzystanie luki mogło oznaczać nadpisanie plików konfiguracyjnych, skryptów startowych albo innych elementów używanych przez aplikację lub system operacyjny. To właśnie możliwość arbitralnego zapisu plików sprawia, że luka ma tak wysoki potencjał operacyjny.
Konsekwencje / ryzyko
Skutki podatności należy ocenić jako krytyczne. Atak nie wymaga wcześniejszego uwierzytelnienia, może zostać przeprowadzony zdalnie i potencjalnie prowadzi do pełnego przejęcia serwera aplikacyjnego.
- zdalne wykonanie kodu na serwerze FUXA,
- utrzymanie trwałego dostępu poprzez modyfikację plików systemowych lub konfiguracyjnych,
- manipulacja interfejsem operatorskim i prezentowanymi danymi,
- ruch boczny do innych segmentów sieci,
- zakłócenie działania systemów HMI i SCADA,
- naruszenie integralności procesów przemysłowych.
W środowiskach OT zagrożenie jest szczególnie poważne, ponieważ serwery wizualizacyjne często mają dostęp do danych procesowych, konfiguracji i interfejsów zarządzania. Kompromitacja takiego hosta może stać się punktem wyjścia do dalszej eskalacji incydentu.
Rekomendacje
Najważniejszym działaniem naprawczym jest natychmiastowa aktualizacja do FUXA 1.2.10 lub nowszej. Organizacje wykorzystujące to rozwiązanie powinny nadać temu wdrożeniu wysoki priorytet, szczególnie jeśli instancje są osiągalne z sieci korporacyjnej, DMZ lub internetu.
- zweryfikować wszystkie używane wersje FUXA,
- ograniczyć dostęp do paneli i API wyłącznie do zaufanych segmentów,
- zablokować bezpośrednią ekspozycję interfejsów administracyjnych do internetu,
- przeanalizować logi pod kątem żądań do
POST /api/upload, - sprawdzić system plików pod kątem nieautoryzowanych zmian i artefaktów persistence,
- włączyć monitoring integralności plików,
- ograniczyć uprawnienia konta systemowego usługi,
- wdrożyć segmentację między siecią IT i OT,
- rozważyć ochronę reverse proxy oraz reguły WAF wykrywające traversal i nietypowe uploady.
Jeżeli istnieje podejrzenie kompromitacji, należy założyć możliwość pełnego przejęcia hosta. W takiej sytuacji wskazane są działania reagowania na incydent, w tym izolacja systemu, analiza śladów zmian, rotacja poświadczeń i odtworzenie środowiska z zaufanego obrazu.
Podsumowanie
CVE-2026-25895 w FUXA to przykład podatności o bardzo wysokiej wartości dla atakującego. Połączenie braku uwierzytelnienia, path traversal i arbitralnego zapisu plików tworzy prosty i groźny wektor prowadzący do RCE.
Dla organizacji korzystających z FUXA w środowiskach przemysłowych oznacza to realne ryzyko wpływu na bezpieczeństwo systemów nadzorczych i ciągłość operacji. Kluczowe działania obejmują szybkie wdrożenie poprawki, weryfikację śladów eksploatacji i ograniczenie ekspozycji aplikacji.