Skip to main content

npm open EUVDEUVD-2026-112744

| CVE-2026-119025 HIGH
OS Command Injection (CWE-78)
2026-10-29 VulnCheck GHSA-jgwm-4pmq-r4w4
7.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Victim connects to malicious MCP server
  2. Delivery
    Server returns 401 naming crafted OAuth authorization_endpoint
  3. Exploit
    URL with $(...) subexpression passed unescaped to open
  4. Execution
    open invokes powershell -EncodedCommand
  5. Impact
    PowerShell evaluates subexpression, arbitrary code runs as user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires all of: (1) the victim host is Windows, or WSL outside a container (the vulnerable branch is platform==='win32' || (isWsl && !isInsideContainer() && !app)) - macOS and Linux are NOT affected because there open uses spawn with an argv instead of a shell; (2) a consuming application passes an attacker-controlled URL to open - here MCP Inspector (CLI, TUI, or web) or opencode taking the OAuth authorization_endpoint from a remote server's RFC 8414 discovery response; (3) the victim connects to an MCP server the attacker operates or has compromised/typosquatted; (4) auto-open is enabled, which is the default (on unless MCP_AUTO_OPEN_ENABLED=false or Vitest is running) with stderr a TTY, i.e. an interactive developer session. Once those hold there is no further click, approval, tool invocation, or model decision - the chain fires during connection. Limiting factors for defenders: the Windows/WSL-only requirement, the need to connect to a hostile server, and that the open library alone is not exploitable without a consumer feeding it untrusted URLs.

Impact

This is a genuine, confirmed remote code execution flaw (CWE-78/CWE-88) in the heavily-used npm open package, reached through consumers like MCP Inspector and opencode. The provided CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:P, VC/VI/VA:H, score 7.7) tells a coherent story: network-reachable, low complexity, no victim privileges required, but with an attack requirement (AT:P) and passive user interaction (UI:P) that temper it - these correspond to the hard real-world constraints that the victim must be on Windows or WSL (macOS/Linux are explicitly NOT affected, because there open uses spawn with an argv rather than a shell) and must connect to an attacker-operated MCP server. The signals mostly reinforce each other rather than conflict: a detailed, demonstrated PoC is published in the MCP GHSA advisory, and the vuln.today decision label is this_week (not act_now/emergency). The flaw is NOT in CISA KEV (no confirmed active exploitation), and no EPSS score was provided in the input, so probabilistic exploitation likelihood cannot be quoted. Net: for organizations running MCP Inspector or opencode on Windows/WSL this is a real, actionable priority warranting patching this week, but it is a targeted data-flow condition (connect to a hostile server on a specific platform) rather than an internet-wide mass-exploitation event, which is consistent with the absence of KEV and the AT:P/UI:P modifiers.

Exploit ScenarioDerived

A developer on Windows or WSL uses MCP Inspector (or opencode) to connect to an untrusted remote MCP server. The server answers 401 and serves OAuth discovery documents whose attacker-chosen authorization_endpoint is a URL like https://evil.test/$([IO.File]::WriteAllText('C:\Users\Public\pwned.txt','RCE')); the client auto-opens it, open passes it unescaped into a PowerShell double-quoted string run via powershell -EncodedCommand, and the $(...) subexpression executes arbitrary code as the user with no prompt, click, tool call, or model involvement. A detailed PoC (malicious server, reproduction command, and a demonstrated injection at the sink) is published in the GHSA advisory.

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

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

Alert me

AnalysisAIv1 – Oct 29, 2026

OS command injection in the npm open package (7.2.0 through 10.x) lets a remote attacker execute arbitrary PowerShell code as the invoking user on Windows and on WSL outside a container, because the target URL is interpolated unescaped into a powershell -EncodedCommand string. The flaw is only reachable through consuming applications that hand attacker-influenced URLs to open - most notably MCP Inspector up to 2.11.0 and opencode, which pass the OAuth authorization_endpoint from a remote MCP server's RFC 8414 discovery document straight to the opener, so code runs during connection with no click, approval, tool invocation, or model involvement. There is no CISA KEV entry; the GHSA advisory includes a public PoC reference that demonstrates the injection at the sink (not independently verified as working exploit code), and macOS and Linux are unaffected because open invokes open/xdg-open there via spawn with an argument vector rather than a shell.

RemediationAI

Upgrade the open dependency to 11.0.0 or later - opencode's fix pins 11.0.4 - and note that a caret range such as "open": "^10.2.0" will never resolve to 11.x, so a deliberate major bump is required and routine npm update will not pull the fix; the upstream patch escapes the target through single-quoted PowerShell literals (commit 274d70446bf38a7b7d50b214dd3962ef8ea9320d). Applications embedding the library should also move to MCP Inspector 2.12.0, which addresses GHSA-q978-78c7-phqw, and to the opencode commit 29f07e0c69ad8668e0e15b0eb54f2fcb342af98c or a release containing it. If a dependency bump cannot be staged immediately, sanitising the URL before it reaches the opener closes the sink - percent-encoding $ (for example with strict-url-sanitise, already used by mcp-remote for CVE-2025-6514 and Cherry Studio on the same OAuth path) neutralises the subexpression, at the cost of altering URLs that legitimately contain $ in path or fragment components. Setting MCP_AUTO_OPEN_ENABLED=false in Inspector stops the automatic launch path that triggers the chain during connection, with the side effect that users must copy and open OAuth URLs manually; it does not protect other consumers of open, and the remaining Windows/WSL-only and hostile-server prerequisites are the main reasons the exposure is narrower than the affected package's download volume suggests.

Affected VersionsENISA

opencode 1.0.137 <1.18.33
open 7.2.0 <11.0.0
inspector 2.0.0 <2.12.0

Affected Packages

euvd inspector fix: 2.12.0
euvd open fix: 11.0.0
euvd opencode fix: 1.18.33

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-78 (OS command injection), with the GitHub advisory additionally classifying it as CWE-88 argument injection. On the Windows branch (platform === 'win32', or WSL when isWsl && !isInsideContainer() && !app), open assembles an argument list, wraps options.target in plain double quotes, joins it, converts the string to base64 as UTF-16LE, and runs it via powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -EncodedCommand. PowerShell evaluates $(...) subexpressions inside double-quoted strings, so a URL containing one is executed before Start even resolves the command. Notably, the application path five lines earlier was already escaped with backticks, so escaping was understood to be necessary at that point but was applied to only one of the two arguments. A URL alone is sufficient because WHATWG URL serialisation percent-encodes only the space and double quote while preserving $, (, ), [, ], :, ,, +, & and (in path and fragment) ', so a working payload needs no encoded characters. The CVSS 4.0 vector's AT:P reflects the additional preconditions beyond the network reachability: the Windows/WSL platform, an interactive session with a TTY where MCP Inspector auto-open is enabled by default (on unless MCP_AUTO_OPEN_ENABLED=false or Vitest is running), and a connection to a server the attacker controls or has compromised. The upstream fix in v11.0.0 replaces double-quoted interpolation with a single-quoted literal helper that doubles embedded single quotes, and consumers must move off ^10.x because a caret range on 10.x never resolves to 11.x.

Know when Windows 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 (VulnCheck) PRIMARY 7.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Remote hostile MCP server, no victim privileges (PR:N), user must connect (UI:R), Windows/WSL-only; deterministic payload (AC:L); runs as invoking user so scope unchanged (S:U).

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

open 7.2.0 before 11.0.0 contains an OS command injection vulnerability that allows attackers to execute PowerShell code by supplying crafted URLs on Windows and WSL. Attackers can embed $(...) subexpressions in URLs, such as OAuth authorization_endpoint values from malicious MCP servers, which execute when index.js passes them unescaped to powershell -EncodedCommand.

Technical POC Analysis

CWE-78 OS command injection in the Windows/WSL launch path of npm open.

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

A high-severity vulnerability in the widely used npm 'open' package affects Windows and WSL environments, allowing remote code execution when applications like MCP Inspector (≤2.11.0) and opencode process attacker-controlled OAuth endpoints from remote MCP servers. Because exploitation requires no user interaction beyond connecting to a malicious server, any development, IT, or security team using these tools on Windows is at risk of compromise, potentially leading to credential theft and lateral movement.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
1.4%
Top 27% exploitable
Prevalence
High
one of npm's most-depended-on libraries; exploitable trigger limited to Windows/WSL
Data Quality
5 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 1.4%
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

CVE-2025-52691 CRITICAL POC
10.0 Dec 29

Unauthenticated remote code execution in SmarterTools SmarterMail lets an attacker upload arbitrary files to any locatio

CVE-2019-0803 HIGH POC
7.8 Apr 09

Windows Win32k fails to properly handle objects in memory, allowing local privilege escalation exploited in the wild in

CVE-2020-1472 MEDIUM POC
5.5 Aug 17

A privilege escalation vulnerability (CVSS 5.5). Risk factors: actively exploited (KEV-listed), EPSS 94% exploitation pr

CVE-2025-33053 HIGH POC
8.8 Jun 10

Windows Internet Shortcut Files (.url) contain an external control vulnerability (CVE-2025-33053, CVSS 8.8) that enables

CVE-2025-33073 HIGH POC
8.8 Jun 10

Windows SMB contains an improper access control vulnerability (CVE-2025-33073, CVSS 8.8) enabling authenticated attacker

CVE-2013-10047 CRITICAL POC
9.3 Aug 01

An unrestricted file upload vulnerability exists in MiniWeb HTTP Server <= Build 300 that allows unauthenticated remote

CVE-2012-10030 CRITICAL POC
9.3 Aug 05

FreeFloat FTP Server contains multiple critical design flaws that allow unauthenticated remote attackers to upload arbit

CVE-2025-34101 CRITICAL POC
9.3 Jul 10

Serviio Media Server versions 1.4 through 1.8 on Windows contain an unauthenticated command injection in the /rest/actio

CVE-2025-34095 CRITICAL POC
9.3 Jul 10

Mako Server versions 2.5 and 2.6 contain an unauthenticated OS command injection via the tutorial interface at examples/

CVE-2025-11953 CRITICAL POC
9.8 Nov 03

React Native Metro Development Server binds to external interfaces by default and contains an OS command injection endpo

CVE-2026-96951 HIGH POC
8.8 Oct 13

Command injection in the Windows Shell lets remote, unauthenticated attackers bypass a Windows security feature and then

CVE-2025-24054 MEDIUM POC
6.5 Mar 11

External control of file name or path in Windows NTLM allows an unauthorized attacker to perform spoofing over a network

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