<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Cve-2026-46701 — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/cve-2026-46701/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Thu, 21 May 2026 22:41:02 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/cve-2026-46701/feed.xml" rel="self" type="application/rss+xml"/><item><title>Network-AI Unauthenticated Cross-Origin MCP Tool Invocation via Empty Default Secret (CVE-2026-46701)</title><link>https://feed.craftedsignal.io/briefs/2026-05-network-ai-mcp-tool-invocation/</link><pubDate>Thu, 21 May 2026 22:41:02 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-network-ai-mcp-tool-invocation/</guid><description>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.</description><content:encoded><![CDATA[<p>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 <code>_isAuthorized</code> function to unconditionally return <code>true</code>. Simultaneously, <code>_handleRequest</code> sets <code>Access-Control-Allow-Origin: *</code> 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 <code>config_set</code>, <code>agent_spawn</code>, and <code>blackboard_write</code>, against a default-configured localhost server. This vulnerability is tracked as CVE-2026-46701.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker hosts a malicious web page designed to interact with the Network-AI MCP server.</li>
<li>A user with a default-configured Network-AI MCP server running locally visits the malicious web page.</li>
<li>The malicious web page sends an HTTP OPTIONS request to the <code>/mcp</code> endpoint to check CORS preflight. The server responds with <code>Access-Control-Allow-Origin: *</code>.</li>
<li>The malicious web page sends an HTTP POST request to the <code>/mcp</code> endpoint with a JSON-RPC payload targeting a MCP tool (e.g., <code>config_set</code>). No <code>Authorization</code> header is included.</li>
<li>The server&rsquo;s <code>_isAuthorized</code> function evaluates to <code>true</code> because the secret is empty.</li>
<li>The server&rsquo;s <code>_handleRequest</code> function sets <code>Access-Control-Allow-Origin: *</code> on the response.</li>
<li>The server&rsquo;s <code>_bridge.handleRPC</code> function executes the requested MCP tool (e.g., <code>config_set</code> to modify configuration).</li>
<li>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.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>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 (<code>config_set</code>), spawning arbitrary agents (<code>agent_spawn</code>), corrupting shared agent state (<code>blackboard_write</code> / <code>blackboard_delete</code>), and tampering with token management (<code>token_create</code> / <code>token_revoke</code>). The integrity impact is high because core orchestrator state can be overwritten.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the vendor&rsquo;s suggested remediation by requiring a non-empty secret at startup (see remediation #1 in the overview) to prevent unauthorized access.</li>
<li>Implement the vendor&rsquo;s suggested fix by restricting CORS to localhost origins only (see remediation #2 in the overview) to prevent cross-origin requests.</li>
<li>Deploy the Sigma rule &ldquo;Detect Network-AI MCP Tool Invocation Without Authorization&rdquo; to identify attempts to exploit this vulnerability by monitoring POST requests to the <code>/mcp</code> endpoint without an Authorization header.</li>
<li>Upgrade to a patched version of Network-AI that addresses CVE-2026-46701.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>cve</category><category>cve-2026-46701</category><category>network</category><category>cross-origin</category><category>authentication bypass</category></item></channel></rss>