Skip to main content

Uni-CLI EUVDEUVD-2026-109090

| CVE-2026-58497 HIGH
Origin Validation Error (CWE-346)
2026-10-23 GitHub_M
8.6
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Lure victim to malicious web page
  2. Delivery
    Send CORS simple POST (text/plain) to localhost /mcp
  3. Exploit
    Bypass missing Origin validation on legacy transport
  4. Execution
    Dispatch JSON-RPC tools/call to dispatcher
  5. Impact
    Drive 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Uni-CLI < 0.225.2

Affected Packages

npm @zenalexa/unicli fix: 0.225.2
euvd uni_cli fix: 0.225.2

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

Vendor (GitHub_M) PRIMARY 8.6 HIGH
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
vuln.today AI 8.1 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 23, 2026 - 16:02 EUVD
CVE Published
Oct 23, 2026 - 14:49 cve.org
HIGH 8.6

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Low
niche developer CLI tool, limited production deployment footprint
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Total

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy