{"id":"CVE-2026-46701","sourceIdentifier":"security-advisories@github.com","published":"2026-07-20T17:17:09.990","lastModified":"2026-10-24T20:10:00.137","vulnStatus":"Analyzed","cveTags":[],"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."},{"lang":"es","value":"Network-AI es un orquestador multiagente de TypeScript/Node.js. Antes de la versión 5.4.5, el servidor MCP SSE por defecto utiliza un secreto vacío (process.env[’NETWORK_AI_MCP_SECRET’] ?? ’’ en bin/mcp-server.ts:89), lo que provoca que _isAuthorized (lib/mcp-transport-sse.ts:254) devuelva true incondicionalmente para cada solicitud - no se requiere un encabezado Authorization. Simultáneamente, _handleRequest establece Access-Control-Allow-Origin: * (lib/mcp-transport-sse.ts:272) en cada respuesta, por lo que una recuperación de navegador de origen cruzado puede leer el resultado sin restricciones. Un atacante no autenticado que puede atraer a un usuario a una página web maliciosa puede invocar las 22 herramientas MCP expuestas - incluyendo config_set, agent_spawn y blackboard_write - contra un servidor localhost configurado por defecto. La versión 5.4.5 corrige el problema."}],"affected":[{"source":"security-advisories@github.com","affectedData":[{"vendor":"Jovancoding","product":"Network-AI","versions":[{"version":"< 5.4.5","status":"affected"}]}]}],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L","baseScore":7.6,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"HIGH","availabilityImpact":"LOW"},"exploitabilityScore":2.8,"impactScore":4.7}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-07-20T18:51:47.983851Z","id":"CVE-2026-46701","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"weaknesses":[{"source":"security-advisories@github.com","type":"Secondary","description":[{"lang":"en","value":"CWE-346"}]}],"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:network-ai:network-ai:*:*:*:*:*:*:*:*","versionEndExcluding":"5.4.5","matchCriteriaId":"88446BC7-9ADC-4225-9B5C-3FE1430CCA30"}]}]}],"references":[{"url":"https://github.com/Jovancoding/Network-AI/commit/dc5048112283f3f4eb6c06dd2bf5aa93ef9339be","source":"security-advisories@github.com","tags":["Patch"]},{"url":"https://github.com/Jovancoding/Network-AI/releases/tag/v5.4.5","source":"security-advisories@github.com","tags":["Patch","Release Notes"]},{"url":"https://github.com/Jovancoding/Network-AI/security/advisories/GHSA-j3vx-cx2r-pvg8","source":"security-advisories@github.com","tags":["Exploit","Mitigation","Vendor Advisory"]}]}