FUXA w wersji 1.2.8 i wcześniejszych zawiera krytyczną podatność pozwalającą nieuwierzytelnionemu atakującemu na ominięcie mechanizmu uwierzytelnienia JWT i zdalne wykonanie dowolnego kodu (RCE) na serwerze. Zagrożenie jest szczególnie poważne, ponieważ nie wymaga żadnych uprawnień ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
FUXA 1.2.8 and prior contains an Authentication Bypass vulnerability leading to Remote Code Execution (RCE). The vulnerability exists in the server/api/jwt-helper.js middleware, which improperly trusts the HTTP "Referer" header to validate internal requests. A remote unauthenticated attacker can bypass JWT authentication by spoofing the Referer header to match the server's host. Successful exploitation allows the attacker to access the protected /api/runscript endpoint and execute arbitrary Node.js code on the server.
Middleware odpowiedzialny za weryfikację tokenów JWT (plik server/api/jwt-helper.js) nieprawidłowo traktuje nagłówek HTTP 'Referer' jako wystarczający dowód na to, że żądanie pochodzi z zaufanego, wewnętrznego źródła. Atakujący może sfałszować wartość tego nagłówka tak, by odpowiadała nazwie hosta serwera, co skutkuje całkowitym pominięciem weryfikacji tokenu JWT. Po uzyskaniu dostępu możliwe jest wywołanie chronionego endpoint'u /api/runscript, który umożliwia wykonanie dowolnego kodu Node.js po stronie serwera.
Atakujący uzyskuje pełną kontrolę nad serwerem poprzez zdalne wykonanie dowolnego kodu (RCE), co może prowadzić do kompromitacji poufności, integralności i dostępności systemu oraz danych.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do interfejsu FUXA wyłącznie do zaufanych hostów (np. poprzez firewall lub listy kontroli dostępu) oraz monitorowanie wywołań endpoint'u /api/runscript.
Frangoteam FUXA w wersji 1.2.8 oraz wszystkich wcześniejszych wersjach
Dostępny jest publiczny proof-of-concept (PoC) opublikowany pod adresem wskazanym w referencjach (gist.github.com). Administratorzy powinni priorytetowo potraktować aktualizację lub izolację systemu.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HFrangoteam Fuxa
APPFrangoteam≤ 1.2.8
Powiązane podatności
FUXA SCADA/HMI – pominięcie uwierzytelnienia umożliwiające RCE przez plugin Node-RED
FUXA SCADA: domyślny sekret JWT umożliwia nieautoryzowany dostęp i RCE
FUXA SCADA/HMI: Auth Bypass + RCE przez API heartbeat
Path traversal w FUXA SCADA/HMI umożliwia zapis dowolnych plików
FUXA SCADA: authorization bypass umożliwia modyfikację schedulerów bez uwierzytelnienia