CVE-2026-43946
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. - `server/api/command/index.js:76-105` exposes `/api/getTagValue`. - `server/runtime/scripts/index.js:106-111` returns `true` when the referenced script does not exist: `if (!script) { return true; }` As a result, an unauthenticated request reaches `/api/getTagValue` as `guest`, and the authorization check is bypassed because `isAuthorisedByScriptName()` returns `true` when `sourceScriptName` is omitted or does not match a real script. The endpoint then returns arbitrary tag values by ID. ### PoC Requests to /api/getTagValue without authentication could succeed when the authorization logic evaluated a non-existent sourceScriptName as authorized.
受影響套件(1)
- npm/fuxa-server>= 1.3.0, < 1.3.1
CVSS 分數
| 來源 | 版本 | 嚴重程度 | 向量 |
|---|---|---|---|
| osv | CVSS 4.0 | — | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P |
參考連結(5)
- PATCHhttps://github.com/frangoteam/FUXA
- WEBhttps://github.com/frangoteam/FUXA/commit/78534da61a91613712b44bb63c8d7da8c5df5ca4
- WEBhttps://github.com/frangoteam/FUXA/pull/2260
- WEBhttps://github.com/frangoteam/FUXA/releases/tag/v1.3.1
- WEBhttps://github.com/frangoteam/FUXA/security/advisories/GHSA-fwcm-rqvw-j3p7