Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Unauthenticated network GET routes ignore the configured secret (AV:N/AC:L/PR:N/UI:N); impact is disclosure of sensitive approval data only, so C:H with I and A none.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
Network-AI (npm: network-ai) versions 5.12.2 through 5.13.3 fail to apply the configured authorization check (checkAuth/secret) to the ApprovalInbox GET read routes, so even when an operator configures a secret, unauthenticated actors can access sensitive approval request details. The GET /approvals/?status=all, GET /approvals/:id, GET /approvals/stats, and GET /approvals/sse routes disclose full ApprovalEntry content including action/target shell-command strings, file paths, justifications, and risk levels. All responses also carry a hardcoded Access-Control-Allow-Origin: * header, enabling cross-origin disclosure from any website the operator visits. This is an incomplete fix for GHSA-mxjx-28vx-xjjj.
Articles & Coverage 1
AnalysisAI
Unauthenticated information disclosure in the Network-AI (npm: network-ai) package versions 5.12.2 through 5.13.3 lets remote actors read the ApprovalInbox even when an operator has configured a checkAuth/secret, because the authorization check was never wired into the GET read routes. Exploitation exposes full approval-request content - including pending shell-command strings, file paths, justifications, and risk levels - and a hardcoded Access-Control-Allow-Origin:* header allows any website an operator visits to exfiltrate the same data cross-origin. This is an incomplete fix for GHSA-mxjx-28vx-xjjj; no public exploit is identified at time of analysis and the package is not listed in CISA KEV.
Technical ContextAI
Network-AI is a Node.js library that implements a human-in-the-loop approval workflow (an 'ApprovalInbox') for AI-agent actions, where proposed operations such as shell commands and file writes are queued as ApprovalEntry records for an operator to approve or reject. The root cause is CWE-862 (Missing Authorization): the configured checkAuth/secret guard is applied to some routes but was omitted on the read paths GET /approvals/?status=all, GET /approvals/:id, GET /approvals/stats, and GET /approvals/sse, so the server serves sensitive entry content without evaluating the operator's secret. The problem is compounded at the HTTP layer by a hardcoded Access-Control-Allow-Origin: * response header, which disables the same-origin protection browsers would normally enforce, so a malicious page loaded in the operator's browser can issue cross-origin fetches (including to the SSE stream) and read the responses.
RemediationAI
Upgrade the network-ai npm package to a release later than 5.13.3 that applies the checkAuth/secret guard to all ApprovalInbox GET routes; the input data does not include an exact fixed version, so consult the GHSA-m4jg-6w3q-gm86 advisory (https://github.com/Jovancoding/Network-AI/security/advisories/GHSA-m4jg-6w3q-gm86) and the VulnCheck advisory (https://www.vulncheck.com/advisories/network-ai-through-missing-authorization-via-approvalinbox) for the patched version before deploying, and do not assume the prior GHSA-mxjx-28vx-xjjj fix is sufficient because this CVE is explicitly an incomplete fix for it. Until a patched build is confirmed, place the ApprovalInbox behind a reverse proxy or network ACL that enforces authentication on GET /approvals/, /approvals/:id, /approvals/stats, and /approvals/sse (trade-off: the app's own secret is bypassed, so the proxy becomes the sole gate), bind the service to localhost or a trusted interface instead of a public address, and strip or restrict the Access-Control-Allow-Origin:* header at the proxy to a specific trusted origin to block cross-origin browser-based theft (trade-off: legitimate cross-origin dashboards will break and must be explicitly allowlisted).
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-45937
GHSA-xvgx-9rph-3pj6