{"id":"CVE-2026-46701","state":"PUBLISHED","title":"Network-AI: Unauthenticated Cross-Origin MCP Tool Invocation via Empty Default Secret","description":"Network-AI is a TypeScript/Node.js multi-agent orchestrator. Prior to version 5.4.5, the MCP SSE server defaults to an empty secret (`process.env['NETWORK_AI_MCP_SECRET'] ?? ''` at `bin/mcp-server.ts:89`), which causes `_isAuthorized` (`lib/mcp-transport-sse.ts:254`) to return `true` unconditionally for every request — no `Authorization` header is required. Simultaneously, `_handleRequest` sets `Access-Control-Allow-Origin: *` (`lib/mcp-transport-sse.ts:272`) on every response, so a cross-origin browser fetch can read the result without restriction. An unauthenticated attacker who can lure a user to a malicious web page can invoke all 22 exposed MCP tools — including `config_set`, `agent_spawn`, and `blackboard_write` — against a default-configured localhost server. Version 5.4.5 patches the issue.","publishedAt":"2026-07-20T16:33:43.791Z","updatedAt":"2026-07-20T19:07:31.413Z","severity":{"score":7.6,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L","source":"GitHub_M"},"assigner":"GitHub_M","products":["Jovancoding Network-AI"],"affected":[{"vendor":"Jovancoding","product":"Network-AI","versions":[{"version":"< 5.4.5","status":"affected"}]}],"references":["https://github.com/Jovancoding/Network-AI/security/advisories/GHSA-j3vx-cx2r-pvg8","https://github.com/Jovancoding/Network-AI/commit/dc5048112283f3f4eb6c06dd2bf5aa93ef9339be","https://github.com/Jovancoding/Network-AI/releases/tag/v5.4.5"],"weaknesses":["CWE-346"],"ingestedAt":"2026-10-29T20:12:07.131Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/46xxx/CVE-2026-46701.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-46701","state":"PUBLISHED","datePublished":"2026-07-20T16:33:43.791Z","dateUpdated":"2026-07-20T19:07:31.413Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-05-15T23:26:58.308Z"},"containers":{"cna":{"title":"Network-AI: Unauthenticated Cross-Origin MCP Tool Invocation via Empty Default Secret","descriptions":[{"lang":"en","value":"Network-AI is a TypeScript/Node.js multi-agent orchestrator. Prior to version 5.4.5, the MCP SSE server defaults to an empty secret (`process.env['NETWORK_AI_MCP_SECRET'] ?? ''` at `bin/mcp-server.ts:89`), which causes `_isAuthorized` (`lib/mcp-transport-sse.ts:254`) to return `true` unconditionally for every request — no `Authorization` header is required. Simultaneously, `_handleRequest` sets `Access-Control-Allow-Origin: *` (`lib/mcp-transport-sse.ts:272`) on every response, so a cross-origin browser fetch can read the result without restriction. An unauthenticated attacker who can lure a user to a malicious web page can invoke all 22 exposed MCP tools — including `config_set`, `agent_spawn`, and `blackboard_write` — against a default-configured localhost server. Version 5.4.5 patches the issue."}],"affected":[{"vendor":"Jovancoding","product":"Network-AI","versions":[{"version":"< 5.4.5","status":"affected"}]}],"references":[{"url":"https://github.com/Jovancoding/Network-AI/security/advisories/GHSA-j3vx-cx2r-pvg8","name":"https://github.com/Jovancoding/Network-AI/security/advisories/GHSA-j3vx-cx2r-pvg8","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/Jovancoding/Network-AI/commit/dc5048112283f3f4eb6c06dd2bf5aa93ef9339be","name":"https://github.com/Jovancoding/Network-AI/commit/dc5048112283f3f4eb6c06dd2bf5aa93ef9339be","tags":["x_refsource_MISC"]},{"url":"https://github.com/Jovancoding/Network-AI/releases/tag/v5.4.5","name":"https://github.com/Jovancoding/Network-AI/releases/tag/v5.4.5","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":7.6,"baseSeverity":"HIGH","confidentialityImpact":"LOW","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-346","lang":"en","description":"CWE-346: Origin Validation Error","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-07-20T16:33:43.791Z"},"source":{"advisory":"GHSA-j3vx-cx2r-pvg8","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-07-20T18:51:47.983851Z","id":"CVE-2026-46701","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-07-20T19:07:31.413Z"}}]}}}