fuxa-server
Ecosystem: npm
Downloads: 108
- 8CriticalAffects 8 versions
- 11HighAffects 11 versions
- 0MediumAffects 0 versions
- 3ModerateAffects 3 versions
- 0LowAffects 0 versions
- 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.
| ID | Severity | Summary | Affected versions | Published | Source |
|---|---|---|---|---|---|
| GHSA-8ghr-w65f-j3qr | Moderate | FUXA'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 |
| GitHub (opens in a new tab) | |
| GHSA-h9fj-c2qr-76g2 | Moderate | FUXA 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 |
| GitHub (opens in a new tab) | |
| GHSA-w86f-rf9w-h3x6 | High | FUXA: 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 |
| GitHub (opens in a new tab) | |
| GHSA-r9g5-7q8j-958c | Moderate | FUXA 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 |
| GitHub (opens in a new tab) | |
| GHSA-q3w6-q3hc-c5x6 | High | FUXA'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 |
| GitHub (opens in a new tab) | |
| GHSA-fwcm-rqvw-j3p7 | High | FUXA 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 |
| GitHub (opens in a new tab) | |
| GHSA-rg3m-cfq7-g6h6 | High | FUXA 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 |
| GitHub (opens in a new tab) | |
| GHSA-68m5-5w2h-h837 | High | FUXA 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 |
| GitHub (opens in a new tab) | |
| GHSA-c869-jx4c-q5fc | Critical | FUXA 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 |
| GitHub (opens in a new tab) | |
| GHSA-v4p5-w6r3-2x4f | Critical | FUXA 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 |
| GitHub (opens in a new tab) |
- GHSA-8ghr-w65f-j3qrModerateFUXA'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-76g2ModerateFUXA 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-h3x6HighFUXA: 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-958cModerateFUXA 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-c5x6HighFUXA'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-j3p7HighFUXA 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-g6h6HighFUXA 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-h837HighFUXA 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-q5fcCriticalFUXA 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-2x4fCriticalFUXA 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