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.
Published: 2026-07-20
Score: 7.6 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Network‑AI’s MCP SSE server, when running with its default configuration, assigns an empty string to the secret used for authentication. Consequently, the `_isAuthorized` routine always returns true, so any request lacking an Authorization header is accepted. Additionally, each response includes Access‑Control‑Allow‑Origin: *, allowing any cross‑origin browser fetch to read the data. An unauthenticated attacker who lures a user to a malicious web page can then invoke all 22 exposed MCP tools — such as config_set, agent_spawn, and blackboard_write — against the localhost instance. The attacker can therefore modify configuration, spawn new agents, or write arbitrary data to the blackboard, leading to privileged operations on the host and compromising confidentiality, integrity, and availability.

Affected Systems

Jovancoding’s Network‑AI application in all releases before version 5.4.5. The vulnerability arises when the environment variable NETWORK_AI_MCP_SECRET is unset or empty, which is the default for these earlier releases.

Risk and Exploitability

The vulnerability has a CVSS score of 7.6, indicating high severity, and an EPSS score of < 1 %, suggesting that although the probability of exploitation is low, it remains possible. The flaw is not yet listed in CISA’s KEV catalog. Attackers can exploit the issue from a local context without authentication by loading a malicious webpage that targets the running Network‑AI instance; the lack of an Authorization check combined with the unrestricted CORS setting makes crafting and delivering the attack straightforward. The flaw is rooted in CWE‑346, reflecting an insecure unchecked secret.

Generated by OpenCVE AI on July 30, 2026 at 19:01 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Network‑AI 5.4.5 or later, which corrects the authentication logic and removes the default empty secret.
  • If upgrading immediately is not possible, set the environment variable NETWORK_AI_MCP_SECRET to a strong, non‑empty value before starting the service to enforce authentication.
  • Configure the server to specify trusted origins for the Access‑Control‑Allow‑Origin header instead of '*', limiting cross‑origin access.
  • If the MCP SSE server is not required, disable or remove the MCP component to eliminate exposed endpoints.

Generated by OpenCVE AI on July 30, 2026 at 19:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-j3vx-cx2r-pvg8 Network-AI: Unauthenticated Cross-Origin MCP Tool Invocation via Empty Default Secret
History

Mon, 20 Jul 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Jovancoding
Jovancoding network-ai
Vendors & Products Jovancoding
Jovancoding network-ai

Mon, 20 Jul 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 20 Jul 2026 16:45:00 +0000

Type Values Removed Values Added
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.
Title Network-AI: Unauthenticated Cross-Origin MCP Tool Invocation via Empty Default Secret
Weaknesses CWE-346
References
Metrics cvssV3_1

{'score': 7.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:L'}


Subscriptions

Jovancoding Network-ai
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-20T19:07:31.413Z

Reserved: 2026-05-15T23:26:58.308Z

Link: CVE-2026-46701

cve-icon Vulnrichment

Updated: 2026-07-20T18:51:48.642Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T19:15:04Z

Weaknesses