{"cve":"CVE-2026-58482","nvd":{"published":"2026-07-20T17:18:15.997","modified":"2026-10-24T20:10:00.137","status":"Analyzed","description":"Network-AI, a TypeScript/Node.js multi-agent orchestrator, has a shipped, exported, documented feature called `ApprovalInbox` (`lib/approval-inbox.ts`). It is the network surface of the human-in-the-loop Approval Gate, which `ApprovalGate` uses to require explicit human approval for high-risk operations. The HTTP server it exposes has no authentication of any kind and sets `Access-Control-Allow-Origin: *` on every route, including the state-changing `POST /approvals/:id/approve` and `/deny`. As a result, in versions 5.0.0 through 5.12.1, any party who can send an HTTP request to the inbox port — a co-located process, a container/SSRF on the same host, a remote client when the operator binds a non-loopback address, or any website the operator visits in a browser (via the wildcard CORS) — can enumerate pending approvals and approve them, defeating the entire human-in-the-loop control and causing the gated high-risk action (e.g. a shell command the agent was holding for review) to execute without consent. This issue is fixed in v5.12.2. `ApprovalInbox` now accepts a `secret` option. When set, the mutating endpoints `POST /:id/approve` and `POST /:id/deny` require an `Authorization: Bearer <secret>` header, validated in constant time with `crypto.timingSafeEqual`. `startServer()` already binds to `127.0.0.1` by default; operators exposing the inbox on a network must set a secret.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:H/A:N","score":5.9},"cwes":["CWE-352","CWE-862"],"references":["https://github.com/Jovancoding/Network-AI/commit/a59c13a1f0ce0e8a0779a90343eef92fac5ab4c3","https://github.com/Jovancoding/Network-AI/releases/tag/v5.12.2","https://github.com/Jovancoding/Network-AI/security/advisories/GHSA-mxjx-28vx-xjjj","https://github.com/Jovancoding/Network-AI/security/advisories/GHSA-mxjx-28vx-xjjj"],"products":["network-ai:network-ai"],"source":"nvd","synced_at":"2026-10-25T17:50:08.599881581+00:00"},"epss":{"cve":"CVE-2026-58482","score":0.00197,"percentile":0.09361,"date":"2026-10-25"},"kev":null,"osv":[{"id":"GHSA-mxjx-28vx-xjjj","url":"https://osv.dev/vulnerability/GHSA-mxjx-28vx-xjjj","summary":"Network-AI: ApprovalInbox HTTP server has no authentication — anyone can approve pending agent actions ","modified":"2026-07-21T03:56:47.773607213Z","packages":[{"ecosystem":"npm","name":"network-ai","purl":"pkg:npm/network-ai","ranges":[">=5.0.0 <5.12.2"],"fixed":["5.12.2"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}