Network-AI: ApprovalInbox HTTP server has no authentication — anyone can approve pending agent actions
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- High
- Impact type
- Tampering, Security bypass
- Confidentiality · integrity · availability
- Low · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-352 and CWE-862.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Jovancoding | Network-AI | 5.0.0 to before 5.12.2 | 5.12.2 | Patch available | CNA |
- Network-AI VendorJovancoding Affected 5.0.0 to before 5.12.2 Fixed in 5.12.2 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:network-ai:network-ai:*:*:*:*:*:*:*:* | 5.0.0 to before 5.12.2 | Vulnerable | Jovancoding |
- cpe:2.3:a:network-ai:network-ai:*:*:*:*:*:*:*:* Versions 5.0.0 to before 5.12.2 Vulnerable ·Jovancoding
Remediation
- Fix · CNA Network-AI (Jovancoding) Fixed in 5.12.2
Timeline
- 2026-10-02 Threatist record created from CVE-2026-58482
References
More Jovancoding Network-ai vulnerabilities
- TI-2026-42088 Network-AI: Poisoned environment backup manifest allows arbitrary recursive deletion during backup pruning CVSS 3.1HIGH 7.1
- TI-2026-42085 Network-AI: AgentRuntime sandbox path-prefix checks allow file access outside the configured base directory CVSS 3.1MEDIUM 6.5
- TI-2026-42024 EnvironmentManager.restore() backup ID path traversal copies arbitrary directories into environment data CVSS 3.1MEDIUM 6.1
- TI-2026-42025 Path traversal in Jovancoding Network-AI CVSS 3.1MEDIUM 5.5
- TI-2026-34330 Network-AI: Unauthenticated Cross-Origin MCP Tool Invocation via Empty Default Secret CVSS 3.1HIGH 7.6
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences