Network-AI Unauthenticated Cross-Origin MCP Tool Invocation via Empty Default Secret (CVE-2026-46701)
Network-AI is vulnerable to an unauthenticated cross-origin attack due to an empty default secret and permissive CORS configuration, allowing an attacker to lure a user to a malicious web page and invoke MCP tools like config_set, agent_spawn, and blackboard_write against a default-configured localhost server.
Network-AI v5.4.4 is vulnerable to an unauthenticated cross-origin MCP tool invocation due to an empty default secret and permissive CORS settings. The MCP SSE server defaults to an empty secret, causing the _isAuthorized function to unconditionally return true. Simultaneously, _handleRequest sets Access-Control-Allow-Origin: * on every response, allowing cross-origin browser requests. An attacker can lure a user to a malicious web page and invoke all 22 exposed MCP tools, including config_set, agent_spawn, and blackboard_write, against a default-configured localhost server. This vulnerability is tracked as CVE-2026-46701.
Attack Chain
- An attacker hosts a malicious web page designed to interact with the Network-AI MCP server.
- A user with a default-configured Network-AI MCP server running locally visits the malicious web page.
- The malicious web page sends an HTTP OPTIONS request to the
/mcpendpoint to check CORS preflight. The server responds withAccess-Control-Allow-Origin: *. - The malicious web page sends an HTTP POST request to the
/mcpendpoint with a JSON-RPC payload targeting a MCP tool (e.g.,config_set). NoAuthorizationheader is included. - The server’s
_isAuthorizedfunction evaluates totruebecause the secret is empty. - The server’s
_handleRequestfunction setsAccess-Control-Allow-Origin: *on the response. - The server’s
_bridge.handleRPCfunction executes the requested MCP tool (e.g.,config_setto modify configuration). - The malicious web page receives the response and can read the result due to the permissive CORS setting, confirming successful execution of the MCP tool.
Impact
Any web page visited by a user who has the Network-AI MCP server running locally on the default port (3001) with no configured secret can silently invoke all 22 MCP tools without credentials. This allows for arbitrary orchestrator configuration mutation (config_set), spawning arbitrary agents (agent_spawn), corrupting shared agent state (blackboard_write / blackboard_delete), and tampering with token management (token_create / token_revoke). The integrity impact is high because core orchestrator state can be overwritten.
Recommendation
- Apply the vendor’s suggested remediation by requiring a non-empty secret at startup (see remediation #1 in the overview) to prevent unauthorized access.
- Implement the vendor’s suggested fix by restricting CORS to localhost origins only (see remediation #2 in the overview) to prevent cross-origin requests.
- Deploy the Sigma rule “Detect Network-AI MCP Tool Invocation Without Authorization” to identify attempts to exploit this vulnerability by monitoring POST requests to the
/mcpendpoint without an Authorization header. - Upgrade to a patched version of Network-AI that addresses CVE-2026-46701.
Detection coverage 2
Detect Network-AI MCP Tool Invocation Without Authorization
highDetects CVE-2026-46701 exploitation — HTTP POST requests to the /mcp endpoint without an Authorization header, indicating potential unauthorized MCP tool invocation.
Detect Network-AI MCP CORS Preflight with Wildcard Origin
mediumDetects an OPTIONS request to the /mcp endpoint that results in Access-Control-Allow-Origin being set to '*', indicating a permissive CORS configuration.
Detection queries are available on the platform. Get full rules →