Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure victim to malicious web page
-
DeliverySend CORS simple POST (text/plain) to localhost /mcp
-
ExploitBypass missing Origin validation on legacy transport
-
ExecutionDispatch JSON-RPC tools/call to dispatcher
-
ImpactDrive local Uni-CLI tools against user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
|
| Exploitation Conditions | Exploitation requires that the user has explicitly started Uni-CLI's legacy stateless JSON-RPC-over-HTTP MCP transport on loopback - this is NOT the default (stdio is default, and the Streamable HTTP transport already enforced the Origin boundary). The victim must then open an attacker-controlled web page in a browser on the same host, which sends a CORS simple POST (such as Content-Type text/plain) to the local /mcp endpoint; the legacy path did not validate the browser Origin header before routing, so the request reaches the dispatcher. Limiting factors: required user interaction (visiting the malicious page, UI:P), the non-default legacy HTTP transport must be running, and the issue is confined to the browser-to-localhost boundary - per the advisory it does not alter Uni-CLI's existing local-code-execution trust model. Requests from non-browser clients that omit Origin remain supported, so the condition is specifically browser-originated traffic. |
| Impact | Signals are moderately consistent and point to a real-but-conditional issue rather than an indiscriminate emergency. The CVSS 4.0 base score of 8.6 (AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H) reflects a network-reachable, low-complexity, unauthenticated flaw whose high confidentiality and integrity impact comes from letting a web origin drive tools/call requests against the local server. The vuln.today decision label is 'this_week' (not act_now or emergency), which matches the picture: this is a prompt-patch item, not a drop-everything one. No EPSS score was provided in the input, so probabilistic exploitation likelihood cannot be quantified - this is a gap, not a low score. The vulnerability is NOT in CISA KEV and there is no confirmed public exploit; it was reported privately by a researcher (Ryan Vonbrubeck / @dodge1218), so there is no evidence of in-the-wild use. The practical risk is tempered by two preconditions encoded in the vector: UI:P (the victim must open a malicious web page) and the fact that the legacy HTTP MCP transport is non-default (stdio is default), so the attacker-reachable surface only exists when a user has deliberately started that transport. Net: a genuine browser-to-localhost CSRF/origin-validation bypass worth patching this week, but its real-world blast radius is limited by non-default configuration and required user interaction rather than being a wormable, widespread threat. |
| Exploit ScenarioDerived | A developer has started Uni-CLI's legacy JSON-RPC-over-HTTP MCP transport on loopback and, in the same browser session, visits a malicious or compromised web page. That page issues a CORS simple POST (e.g. Content-Type text/plain) to http://localhost/mcp carrying a JSON-RPC body; because the legacy path did not validate the browser Origin header, the request reaches the dispatcher and can drive tools/call operations against the user's local Uni-CLI server. No public exploit code is identified at time of analysis; the issue was reported privately. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 23, 2026
Uni-CLI before 0.225.2 leaves the legacy stateless JSON-RPC-over-HTTP MCP transport listening on loopback without validating browser Origin headers, so a malicious page loaded in a browser on the same host can send a CORS simple POST (for example with Content-Type text/plain) to the local /mcp endpoint and reach the JSON-RPC dispatcher, driving tools/call requests against the user's local server. The flaw is unauthenticated (PR:N in the assessed vector) but requires user interaction - the victim must open the attacker's page - and only applies when the user has explicitly started the non-default legacy HTTP MCP transport; the stdio default and the Streamable HTTP transport, which already enforced the boundary, are not affected. Patched in 0.225.2; no public exploit code has been identified at time of analysis, and the issue is confined to the browser-to-localhost boundary rather than changing Uni-CLI's local-code-execution trust model.
RemediationAI
Vendor-released patch: 0.225.2 - upgrade the @zenalexa/unicli package to 0.225.2 or later, which moves the Origin policy into a shared guard applied before routing so both HTTP transports reject non-loopback browser Origins with HTTP 403 prior to health, OAuth or /mcp dispatch. The vendor's stated workaround if upgrading is not immediately possible is to stop exposing the legacy HTTP MCP transport to browser-originated traffic, using the default stdio transport or the Streamable HTTP transport instead; note that the trade-off is loss of the legacy stateless HTTP interface for any client that depends on it, while non-browser clients that omit Origin remain supported on the fixed release. Details are in advisory GHSA-v3f4-w7r7-v3hm (https://github.com/olo-dot-io/Uni-CLI/security/advisories/GHSA-v3f4-w7r7-v3hm) and the v0.225.2 release notes (https://github.com/olo-dot-io/Uni-CLI/releases/tag/v0.225.2).
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Uni-CLI is an npm-distributed command interface (package @zenalexa/unicli) that fronts websites, browsers, desktop applications, local tools and MCP servers. It ships multiple MCP transports: a default stdio transport, a Streamable HTTP transport that already enforced a browser-to-localhost Origin policy, and a legacy stateless JSON-RPC-over-HTTP transport that routed requests without first checking the Origin header. This is a CWE-346 origin validation error that manifests as cross-site request forgery (CWE-352) against the local service: because a POST with Content-Type text/plain classifies as a CORS simple request, the browser sends it without a preflight OPTIONS check, so the attacker's cross-origin page can deliver a JSON-RPC body to /mcp on loopback and have it dispatched as an ordinary tool invocation. The root cause is transport drift - one HTTP path had the origin guard, the other did not - and the 0.225.2 fix moves the Origin policy into a shared guard applied before routing in both HTTP transports, rejecting non-loopback browser Origins with HTTP 403 before health, OAuth or /mcp dispatch executes, while continuing to accept non-browser clients that omit Origin entirely. Per the advisory, the trigger is specifically browser-originated traffic to a locally running legacy transport; other triggering details are not described in the available sources.
Know when Uni Cli gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
AV:N and AC:L because a web page reaches the loopback endpoint with a simple cross-origin POST; PR:N as no server auth is needed; UI:R since the victim must visit the malicious page; C:H/I:H as tools/call is driven, A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Uni-CLI gives people and agents one command interface for websites, browsers, desktop applications, local tools, and MCP. Prior to version 0.225.2, Uni-CLI exposed the legacy JSON-RPC-over-HTTP MCP transport on loopback without validating browser Origin headers before routing requests. A malicious web page could send a CORS simple POST request, such as text/plain, to the local /mcp endpoint and deliver a JSON-RPC body to the dispatcher. If the user had started the local MCP HTTP transport, that page could drive tools/call requests against the user's local Uni-CLI server. The Streamable HTTP transport already enforced this browser-to-localhost boundary. The legacy stateless HTTP path did not, so the two HTTP transports had drifted. This issue is about the browser-to-localhost boundary; it does not change Uni-CLI's local-code-execution trust model. This issue has been patched in version 0.225.2.
Technical POC Analysis
CWE-346 (Origin Validation Error), with the advisory also tagging CWE-352 (CSRF).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-58497 is a high-severity flaw in Uni-CLI (versions before 0.225.2) that, when the non-default legacy HTTP MCP transport is enabled, allows a malicious website to invoke local MCP tools via a browser-based cross-origin request. This creates a risk of unauthorized tool execution on affected developer workstations, potentially leading to data exposure or local system compromise. Leadership should prioritize remediation because the vulnerability is easily triggered by user interaction, affects a core development tool, and could undermine trust in the local development environment.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-109090
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB