fuxa-server

Ecosystem: npm

Downloads: 108

Vulnerabilities from the last (months)
  • 8CriticalAffects 8 versions
  • 11HighAffects 11 versions
  • 0MediumAffects 0 versions
  • 3ModerateAffects 3 versions
  • 0LowAffects 0 versions
Severity distribution (all time)
22vulnerabilities
  • Critical8 (36.4%)
  • High11 (50.0%)
  • Medium0 (0.0%)
  • Moderate3 (13.6%)
  • Low0 (0.0%)

Monthly breakdown

  • Critical
  • High
  • Medium
  • Moderate
  • Low
  • 3 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 2
    • Low: 0
  • 4 vulnerabilities
    • Critical: 0
    • High: 3
    • Medium: 0
    • Moderate: 1
    • Low: 0
  • 12 vulnerabilities
    • Critical: 7
    • High: 5
    • Medium: 0
    • Moderate: 0
    • Low: 0
  • 3 vulnerabilities
    • Critical: 1
    • High: 2
    • Medium: 0
    • Moderate: 0
    • Low: 0

Vulnerabilities (22)

Known vulnerabilities affecting fuxa-server, based on data from OSV.

Vulnerabilities affecting fuxa-server
IDSeveritySummaryAffected versionsPublishedSource
GHSA-8ghr-w65f-j3qrModerateFUXA's scheduler API missing admin check enables operator-to-admin escalation via scheduled device actions## Summary An authorization issue in the Scheduler API allowed authenticated non-admin users to create or modify scheduled actions that should be restricted to administrators. ## Details The Scheduler API did not correctly enforce administrator permissions when processing scheduler modifications. As a result, authenticated users with non-administrative roles could create or modify scheduled actions that execute privileged operations, including device value changes and server-side script execution. The issue was fixed in version 1.3.2 by enforcing the appropriate permission checks for sche
  • <= 1.1.14-1243
GitHub (opens in a new tab)
GHSA-h9fj-c2qr-76g2ModerateFUXA has SQL Injection in its TDengine DAQ connector via backslash bypass of escapeTdString## Summary The TDengine DAQ storage connector's `escapeTdString` at `server/runtime/storage/tdengine/index.js:10` doubles single quotes but does not escape backslashes. TDengine's SQL parser treats `\'` as a literal single quote inside a string, so a tag id of the form `x\' OR 1=1--` escapes the first single quote, lets the doubled quote close the string, and appends an injected clause that runs on the TDengine server. An attacker (Alice) sends the crafted `sids` value through `GET /api/daq` or the Socket.IO `DAQ_QUERY` event and reads every row in `fuxa.meters`, which holds the historical ta
  • <= 1.1.14-1243
GitHub (opens in a new tab)
GHSA-w86f-rf9w-h3x6HighFUXA: Unauthenticated SSRF via Socket.IO DEVICE_WEBAPI_REQUEST and DEVICE_PROPERTY with response reading## Summary An unauthenticated attacker (Alice) connects to FUXA's Socket.IO endpoint and emits a `device-webapi-request` event whose `property.address` field names an arbitrary URL. FUXA's `DEVICE_WEBAPI_REQUEST` handler at `server/runtime/index.js:296` calls `axios.get(address)` server-side and broadcasts the full response body back on the same event via `io.emit`. The companion handler `DEVICE_PROPERTY` at `server/runtime/index.js:153` has the same miss against OPC UA and ODBC endpoints. Both handlers skip the `isSocketWriteAuthorized()` check that the other write-capable events (`DEVICE_VA
  • <= 1.1.14-1243
GitHub (opens in a new tab)
GHSA-r9g5-7q8j-958cModerateFUXA provides guest and invalid-token access to protected read APIs in secure mode### Summary When `secureEnabled=true`, FUXA `1.3.0-2773` still allows guest and invalid-token requests to read project, alarms, and scheduler APIs. ### Details In secure mode, requests with no token or an explicitly invalid token were still able to access protected read endpoints. Confirmed behavior: - guest `GET /api/project` returned `200 OK` - invalid-token requests to `/api/project` also returned successful responses containing project data - guest and invalid-token requests also returned `200 OK` on: - `/api/alarms` - `/api/scheduler` Relevant code paths iden
  • >= 1.3.0-2773, < 1.3.1
GitHub (opens in a new tab)
GHSA-q3w6-q3hc-c5x6HighFUXA's Unauthenticated Project Data Disclosure Exposes Server-Side Scripts and Device Configurations### Summary The GET /api/project endpoint exposes sensitive project configuration data to guest-context requests even when secureEnabled is enabled. ### Details File: `server/api/projects/index.js` ```javascript prjApp.get("/api/project", secureFnc, function(req, res) { const permission = checkGroupsFnc(req); runtime.project.getProject(req.userId, permission).then(result => { if (result) { res.json(result); } }); }); ``` The endpoint uses the `secureFnc` middleware, but this middleware calls `verifyToken` in `server/api/jwt-helper.js` which auto-gen
  • >= 1.3.0, < 1.3.1
GitHub (opens in a new tab)
GHSA-fwcm-rqvw-j3p7HighFUXA has an unauthenticated arbitrary tag value disclosure via /api/getTagValue### Summary An authorization bypass in the /api/getTagValue endpoint allows unauthenticated access to tag values when the referenced script does not exist. ### Details The issue is caused by the combination of these code paths: - `server/api/apikeys/verify-api-or-token.js:45` sends requests without `x-api-key` to `authJwt.verifyToken(req, res, next)`. - `server/api/jwt-helper.js:46-64` creates a signed guest token when no `x-access-token` is provided: `if (!token) { token = getGuestToken(); }` and then populates `req.userId` / `req.userGroups` from that guest token. - `ser
  • >= 1.3.0, < 1.3.1
GitHub (opens in a new tab)
GHSA-rg3m-cfq7-g6h6HighFUXA Vulnerable to Unauthenticated Remote Code Execution via Script Test Mode Authorization Bypass### Summary An unauthenticated Remote Code Execution vulnerability exists in FUXA when `secureEnabled` is set to `true`. The `POST /api/runscript` endpoint checks authorization against the stored script's permission by ID, but when `test: true` is set in the request, it compiles and executes attacker-supplied code instead of the stored script's code. An unauthenticated attacker who knows a valid script ID and name may execute arbitrary code via test mode if at least one server-side script exists and is accessible without restrictive permissions. Script IDs and names can be obtained through t
  • >= 1.3.0, < 1.3.1
GitHub (opens in a new tab)
GHSA-68m5-5w2h-h837HighFUXA Affected by a Path Traversal Sanitization Bypass### Summary A flaw in the path sanitization logic allows an authenticated attacker with administrative privileges to bypass directory traversal protections. By using nested traversal sequences (e.g., ....//), an attacker can write arbitrary files to the server filesystem, including sensitive directories like runtime/scripts. This leads to Remote Code Execution (RCE) when the server reloads the malicious scripts. It is a new vulnerability a patch bypass for the sanitization in the last release . ### Details This report describes a new, distinct vulnerability that differs from previous Path Tr
  • < 1.2.11
GitHub (opens in a new tab)
GHSA-c869-jx4c-q5fcCriticalFUXA Unauthenticated Remote Arbitrary Scheduler Write### Summary An authorization bypass vulnerability in the FUXA allows an unauthenticated, remote attacker to create and modify arbitrary schedulers, exposing connected ICS/SCADA environments to follow-on actions. This vulnerability affects FUXA version 1.2.8 through version 1.2.10. This has been patched in FUXA version 1.2.11. ### Impact This affects all deployments, including those with `runtime.settings.secureEnabled` set to `true`. Exploitation allows an unauthenticated, remote attacker to automatically authenticate as guest and create, modify or delete schedules. These schedules can be co
  • >= 1.2.8, < 1.2.11
GitHub (opens in a new tab)
GHSA-v4p5-w6r3-2x4fCriticalFUXA Unauthenticated Remote Code Execution in Node-RED Integration### Summary **Description** An authentication bypass vulnerability in FUXA allows an unauthenticated, remote attacker to execute arbitrary code on the server when the Node-RED plugin is enabled. This affects FUXA version 1.2.8 through version 1.2.10. This has been patched in FUXA version 1.2.11. ### Impact This affects all deployments with the Node-RED plugin enabled, including those with `runtime.settings.secureEnabled` set to true. Exploitation allows an unauthenticated, remote attacker to send a specially crafted request to the `/nodered/flows` endpoint to bypass authentication checks, g
  • >= 1.2.8, < 1.2.11
GitHub (opens in a new tab)
  • GHSA-8ghr-w65f-j3qrModerate
    FUXA's scheduler API missing admin check enables operator-to-admin escalation via scheduled device actions
    • <= 1.1.14-1243

    ## Summary An authorization issue in the Scheduler API allowed authenticated non-admin users to create or modify scheduled actions that should be restricted to administrators. ## Details The Scheduler API did not correctly enforce administrator permissions when processing scheduler modifications. As a result, authenticated users with non-administrative roles could create or modify scheduled actions that execute privileged operations, including device value changes and server-side script execution. The issue was fixed in version 1.3.2 by enforcing the appropriate permission checks for sche

    CVE: CVE-2026-47721

  • GHSA-h9fj-c2qr-76g2Moderate
    FUXA has SQL Injection in its TDengine DAQ connector via backslash bypass of escapeTdString
    • <= 1.1.14-1243

    ## Summary The TDengine DAQ storage connector's `escapeTdString` at `server/runtime/storage/tdengine/index.js:10` doubles single quotes but does not escape backslashes. TDengine's SQL parser treats `\'` as a literal single quote inside a string, so a tag id of the form `x\' OR 1=1--` escapes the first single quote, lets the doubled quote close the string, and appends an injected clause that runs on the TDengine server. An attacker (Alice) sends the crafted `sids` value through `GET /api/daq` or the Socket.IO `DAQ_QUERY` event and reads every row in `fuxa.meters`, which holds the historical ta

    CVE: CVE-2026-47720

  • GHSA-w86f-rf9w-h3x6High
    FUXA: Unauthenticated SSRF via Socket.IO DEVICE_WEBAPI_REQUEST and DEVICE_PROPERTY with response reading
    • <= 1.1.14-1243

    ## Summary An unauthenticated attacker (Alice) connects to FUXA's Socket.IO endpoint and emits a `device-webapi-request` event whose `property.address` field names an arbitrary URL. FUXA's `DEVICE_WEBAPI_REQUEST` handler at `server/runtime/index.js:296` calls `axios.get(address)` server-side and broadcasts the full response body back on the same event via `io.emit`. The companion handler `DEVICE_PROPERTY` at `server/runtime/index.js:153` has the same miss against OPC UA and ODBC endpoints. Both handlers skip the `isSocketWriteAuthorized()` check that the other write-capable events (`DEVICE_VA

    CVE: CVE-2026-47719

  • GHSA-r9g5-7q8j-958cModerate
    FUXA provides guest and invalid-token access to protected read APIs in secure mode
    • >= 1.3.0-2773, < 1.3.1

    ### Summary When `secureEnabled=true`, FUXA `1.3.0-2773` still allows guest and invalid-token requests to read project, alarms, and scheduler APIs. ### Details In secure mode, requests with no token or an explicitly invalid token were still able to access protected read endpoints. Confirmed behavior: - guest `GET /api/project` returned `200 OK` - invalid-token requests to `/api/project` also returned successful responses containing project data - guest and invalid-token requests also returned `200 OK` on: - `/api/alarms` - `/api/scheduler` Relevant code paths iden

    CVE: CVE-2026-47718

  • GHSA-q3w6-q3hc-c5x6High
    FUXA's Unauthenticated Project Data Disclosure Exposes Server-Side Scripts and Device Configurations
    • >= 1.3.0, < 1.3.1

    ### Summary The GET /api/project endpoint exposes sensitive project configuration data to guest-context requests even when secureEnabled is enabled. ### Details File: `server/api/projects/index.js` ```javascript prjApp.get("/api/project", secureFnc, function(req, res) { const permission = checkGroupsFnc(req); runtime.project.getProject(req.userId, permission).then(result => { if (result) { res.json(result); } }); }); ``` The endpoint uses the `secureFnc` middleware, but this middleware calls `verifyToken` in `server/api/jwt-helper.js` which auto-gen

    CVE: CVE-2026-47717

  • GHSA-fwcm-rqvw-j3p7High
    FUXA has an unauthenticated arbitrary tag value disclosure via /api/getTagValue
    • >= 1.3.0, < 1.3.1

    ### Summary An authorization bypass in the /api/getTagValue endpoint allows unauthenticated access to tag values when the referenced script does not exist. ### Details The issue is caused by the combination of these code paths: - `server/api/apikeys/verify-api-or-token.js:45` sends requests without `x-api-key` to `authJwt.verifyToken(req, res, next)`. - `server/api/jwt-helper.js:46-64` creates a signed guest token when no `x-access-token` is provided: `if (!token) { token = getGuestToken(); }` and then populates `req.userId` / `req.userGroups` from that guest token. - `ser

    CVE: CVE-2026-43946

  • GHSA-rg3m-cfq7-g6h6High
    FUXA Vulnerable to Unauthenticated Remote Code Execution via Script Test Mode Authorization Bypass
    • >= 1.3.0, < 1.3.1

    ### Summary An unauthenticated Remote Code Execution vulnerability exists in FUXA when `secureEnabled` is set to `true`. The `POST /api/runscript` endpoint checks authorization against the stored script's permission by ID, but when `test: true` is set in the request, it compiles and executes attacker-supplied code instead of the stored script's code. An unauthenticated attacker who knows a valid script ID and name may execute arbitrary code via test mode if at least one server-side script exists and is accessible without restrictive permissions. Script IDs and names can be obtained through t

    CVE: CVE-2026-43947

  • GHSA-68m5-5w2h-h837High
    FUXA Affected by a Path Traversal Sanitization Bypass
    • < 1.2.11

    ### Summary A flaw in the path sanitization logic allows an authenticated attacker with administrative privileges to bypass directory traversal protections. By using nested traversal sequences (e.g., ....//), an attacker can write arbitrary files to the server filesystem, including sensitive directories like runtime/scripts. This leads to Remote Code Execution (RCE) when the server reloads the malicious scripts. It is a new vulnerability a patch bypass for the sanitization in the last release . ### Details This report describes a new, distinct vulnerability that differs from previous Path Tr

    CVE: CVE-2026-25951

  • GHSA-c869-jx4c-q5fcCritical
    FUXA Unauthenticated Remote Arbitrary Scheduler Write
    • >= 1.2.8, < 1.2.11

    ### Summary An authorization bypass vulnerability in the FUXA allows an unauthenticated, remote attacker to create and modify arbitrary schedulers, exposing connected ICS/SCADA environments to follow-on actions. This vulnerability affects FUXA version 1.2.8 through version 1.2.10. This has been patched in FUXA version 1.2.11. ### Impact This affects all deployments, including those with `runtime.settings.secureEnabled` set to `true`. Exploitation allows an unauthenticated, remote attacker to automatically authenticate as guest and create, modify or delete schedules. These schedules can be co

    CVE: CVE-2026-25939

  • GHSA-v4p5-w6r3-2x4fCritical
    FUXA Unauthenticated Remote Code Execution in Node-RED Integration
    • >= 1.2.8, < 1.2.11

    ### Summary **Description** An authentication bypass vulnerability in FUXA allows an unauthenticated, remote attacker to execute arbitrary code on the server when the Node-RED plugin is enabled. This affects FUXA version 1.2.8 through version 1.2.10. This has been patched in FUXA version 1.2.11. ### Impact This affects all deployments with the Node-RED plugin enabled, including those with `runtime.settings.secureEnabled` set to true. Exploitation allows an unauthenticated, remote attacker to send a specially crafted request to the `/nodered/flows` endpoint to bypass authentication checks, g

    CVE: CVE-2026-25938

Showing 1-10 of 22 vulnerabilities