Network-AI: ApprovalInbox HTTP server has no authentication — anyone can approve pending agent actions
Published Jul 20, 2026
5.9
MEDIUMCVSS 3.1
EPSS 0.20%
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.
Affected products
-
- Version >= 5.0.0, < 5.12.2StatusaffectedConstraints-
- Version
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Jovancoding | Network-AI | n/a |
|
- ≥ 5.0.0 · < 5.12.2
No data.
No Red Hat product state for this CVE.
network-ai
npm
Introduced 5.0.0 Fixed 5.12.2
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | network-ai | 5.0.0 | 5.12.2 |
Remediation
No remediation recorded yet.
References (4)
- https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-46020 Advisory
- https://github.com/Jovancoding/Network-AI/commit/a59c13a1f0ce0e8a0779a90343eef92fac5ab4c3 x_refsource_MISCPatch
- https://github.com/Jovancoding/Network-AI/releases/tag/v5.12.2 x_refsource_MISCPatchRelease Notes
- https://github.com/Jovancoding/Network-AI/security/advisories/GHSA-mxjx-28vx-xjjj exploitx_refsource_CONFIRMMitigationPatchVendor Advisory
| Link | Providers | Tags |
|---|---|---|
| https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-46020 | Advisory | |
| https://github.com/Jovancoding/Network-AI/commit/a59c13a1f0ce0e8a0779a90343eef92fac5ab4c3 | x_refsource_MISCPatch | |
| https://github.com/Jovancoding/Network-AI/releases/tag/v5.12.2 | x_refsource_MISCPatchRelease Notes | |
| https://github.com/Jovancoding/Network-AI/security/advisories/GHSA-mxjx-28vx-xjjj | exploitx_refsource_CONFIRMMitigationPatchVendor Advisory |
Change history (0)
No recorded changes yet.