Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-10279

CVE-2026-10279: WeZterm-MCP RCE Vulnerability

CVE-2026-10279 is a remote code execution flaw in WeZterm-MCP 0.1.0 caused by OS command injection via pane_id manipulation. This post covers technical details, affected versions, impact, and mitigation steps.

Published:

CVE-2026-10279 Overview

CVE-2026-10279 is an operating system (OS) command injection vulnerability in hiraishikentaro wezterm-mcp version 0.1.0. The flaw resides in the src/wezterm_executor.ts file within the switch_pane/write_to_specific_pane component. Attackers can manipulate the request.params.arguments.pane_id argument to inject and execute arbitrary OS commands. The attack can be launched remotely and requires low privileges. A public exploit exists, and the project maintainer was notified through an issue report but has not responded. The weakness is classified under [CWE-77] Improper Neutralization of Special Elements used in a Command.

Critical Impact

Authenticated remote attackers can execute arbitrary operating system commands on the host running wezterm-mcp by supplying a crafted pane_id parameter.

Affected Products

  • hiraishikentaro wezterm-mcp 0.1.0
  • Component: src/wezterm_executor.ts
  • Functions: switch_pane and write_to_specific_pane

Discovery Timeline

  • 2026-06-01 - CVE-2026-10279 published to the National Vulnerability Database (NVD)
  • 2026-06-02 - Last updated in NVD database

Technical Details for CVE-2026-10279

Vulnerability Analysis

The vulnerability exists in wezterm-mcp, a Model Context Protocol (MCP) server that bridges AI assistants with the Wezterm terminal emulator. The switch_pane and write_to_specific_pane handlers accept a pane_id parameter from MCP client requests. The handler in src/wezterm_executor.ts passes this user-controlled value into a shell command without sanitization or argument escaping. An attacker who can reach the MCP endpoint can append shell metacharacters to pane_id and trigger arbitrary command execution under the privileges of the running process.

The EPSS score for this issue is 0.924%, indicating measurable interest from the exploitation community given that a public proof of concept is referenced in the VulDB advisory.

Root Cause

The root cause is improper neutralization of special elements in commands [CWE-77]. The pane_id argument is concatenated or interpolated into a shell invocation used to control Wezterm panes. Because the executor does not validate that pane_id matches an expected numeric or alphanumeric pattern and does not use a safe parameterized process spawn, characters such as ;, |, &&, and backticks pass through directly to the shell.

Attack Vector

The attack vector is the network-exposed MCP interface. A low-privileged client connected to the wezterm-mcp server crafts a JSON request invoking switch_pane or write_to_specific_pane with a pane_id value containing shell metacharacters and an attacker chosen command. When the server processes the request, the injected command executes on the host. User interaction is not required.

No verified exploit code is reproduced here. Technical details and a public reference are available in the GitHub Issue #7 for Wezterm and the VulDB CVE-2026-10279 advisory.

Detection Methods for CVE-2026-10279

Indicators of Compromise

  • MCP request payloads where request.params.arguments.pane_id contains shell metacharacters such as ;, |, &, $(, or backticks.
  • Unexpected child processes spawned by the Node.js process running wezterm-mcp, such as /bin/sh, bash, curl, or wget.
  • Outbound network connections from the host running wezterm-mcp to unfamiliar destinations following MCP request activity.

Detection Strategies

  • Inspect MCP request logs for pane_id values that do not match a strict numeric identifier pattern.
  • Apply endpoint detection and response (EDR) rules that alert on shell interpreters spawned as children of the Node.js runtime hosting wezterm-mcp.
  • Correlate process creation telemetry with MCP traffic to identify command injection chains.

Monitoring Recommendations

  • Forward wezterm-mcp application logs and host process telemetry to a centralized logging or SIEM platform for analysis.
  • Monitor for new files written under user home directories or /tmp shortly after MCP requests targeting pane operations.
  • Track outbound DNS and HTTP connections from developer workstations running MCP servers to detect post-exploitation staging.

How to Mitigate CVE-2026-10279

Immediate Actions Required

  • Stop or uninstall wezterm-mcp 0.1.0 until a fixed version is published, since the maintainer has not responded to the disclosure.
  • Restrict the MCP server to listen only on the local loopback interface and require authentication for any client connections.
  • Audit shell history and process logs on hosts running wezterm-mcp for evidence of command injection activity.

Patch Information

At the time of publication, no official patch has been released. The project was informed through GitHub Issue #7 but has not responded. Monitor the GitHub Repository for Wezterm MCP for an updated release that validates pane_id and uses safe process spawning APIs.

Workarounds

  • Patch the local copy of src/wezterm_executor.ts to validate pane_id against a strict regular expression such as ^[0-9]+$ and reject any other input.
  • Replace shell-based command construction with parameterized child_process.spawn calls that pass arguments as an array rather than a concatenated string.
  • Run the MCP server under a dedicated low-privilege user account with no shell and constrained file system access to limit the impact of successful injection.
bash
# Configuration example - restrict wezterm-mcp to localhost and run as unprivileged user
sudo useradd --system --shell /usr/sbin/nologin wezmcp
sudo -u wezmcp MCP_BIND_ADDR=127.0.0.1 node /opt/wezterm-mcp/dist/index.js

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.