Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain MCP client access to server
-
DeliveryCall whitelisted command (pwd)
-
ExploitInject ';' + forbidden command in arguments
-
ExecutionShell executes injected command
-
ImpactArbitrary code runs as server 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 that the victim is running the mac-shell-mcp server (before 2.0.0) and that the attacker can submit requests to it as a connected MCP client - this includes a legitimate client being driven by a malicious or prompt-injected LLM. The specific prerequisite is the execute_command tool's whitelist-based validation, which checks only the base command name while passing attacker-controlled arguments to a shell, so any allowed command (e.g., pwd) plus shell metacharacters (';', '&&', '|', '$()') in the arguments triggers it. Limiting factors: the attacker must already have MCP client-level access (PR:L, local vector AV:L), so this is not a remote-unauthenticated internet-facing flaw; impact is bounded by the privileges of the server user; and installations upgraded to 2.0.0 or later are not affected. |
| Impact | This is a genuine, well-substantiated command injection flaw (CWE-78) rather than an inflated high-CVSS score. The provided CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H, base 8.5 High) indicates a local attack vector with low attack complexity, requiring only low privileges and no user interaction, yielding total confidentiality/integrity/availability loss on the vulnerable system with no subsequent-system scope change. The attack vector is local because exploitation flows through an MCP client already connected to the server, and PR:L reflects that the attacker must be an authorized MCP client/prompt rather than a wholly unauthenticated outsider. No EPSS score is provided, the CVE is NOT listed in CISA KEV, and no public exploit/POC repository is referenced, so there is no public exploit identified at time of analysis - though the description itself supplies a trivially reproducible technique (calling an allowed command like pwd with an argument of ';'). The signals are internally consistent: moderate-to-high technical severity, easy to trigger once you can talk to the server, but no evidence of widespread or active exploitation. The practical priority is elevated for anyone running this specific MCP server, especially given the emerging threat model where a malicious or hijacked prompt - not just a human attacker - can trigger the injection, but the overall real-world footprint is small. |
| Exploit ScenarioDerived | An attacker (or a malicious/poisoned prompt driving an MCP client) invokes a whitelisted command such as execute_command with name 'pwd' and supplies arguments containing shell metacharacters like ';' followed by a forbidden command. The whitelist check passes on the safe base command while the injected metacharacters cause the shell to execute arbitrary attacker-controlled commands as the server user, bypassing the approval mechanism. No public POC repository is referenced, but the CVE description provides a directly reproducible example. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
OS command injection in mac-shell-mcp before 2.0.0 lets a connected MCP client - including a legitimate client driven by a malicious or prompt-injected LLM - escape the tool's command whitelist by appending shell metacharacters to the arguments of an otherwise permitted command such as pwd, causing forbidden commands to run as the server user without approval. Exploitation requires an existing MCP client session to the local server (CVSS 4.0 vector AV:L/PR:L/UI:N, mirroring the independent CVSS 3.1 assessment AV:L/PR:L/UI:N with high confidentiality, integrity and availability impact), so this is an authenticated, locally-scoped flaw rather than an internet-facing unauthenticated one, and impact is bounded by the privileges of the account the server runs under. No public exploit code has been identified at time of analysis and the issue is not confirmed actively exploited (CISA KEV), but a vendor fix and upstream patch commit are available; EPSS data was not provided for this CVE.
RemediationAI
Upgrade to mac-shell-mcp 2.0.0 or later - this is the vendor-released patch that addresses the flaw, with the upstream fix commit at https://github.com/cfdude/mac-shell-mcp/commit/932ce733cde07bb30b1f186303e6692dbb5d087a and remediation guidance in the VulnCheck advisory (https://www.vulncheck.com/advisories/mac-shell-mcp-before-2.0.0-os-command-injection-via-execute-command-arguments) and issue #45. If upgrading is not immediately possible, remove or disable the execute_command tool from the server's MCP tool registration so no shell execution path is exposed (trade-off: all legitimate shell automation through the server stops working), and restrict the whitelist to commands that are invoked with no caller-supplied arguments (trade-off: breaks common use cases such as pwd with flags, and is fragile since it relies on continued strict argument handling). Additionally, run the server under a dedicated low-privilege macOS account with no sudo rights so injected commands cannot escalate beyond that account, and treat all MCP client input - especially prompts that reach an LLM-backed client - as untrusted, since prompt injection is a viable delivery path for the metacharacter payload; neither of these compensating controls removes the underlying flaw, so patching to 2.0.0 remains the only complete fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
mac-shell-mcp is a TypeScript/Node.js Model Context Protocol (MCP) server (CPE cpe:2.3:a:cfdude:mac-shell-mcp:*:*:*:*:*:*:*:*) that exposes shell execution to MCP clients, built on the @modelcontextprotocol/sdk. The root cause is CWE-78 OS Command Injection: the execute_command tool's validation logic in src/services/command-service.ts (lines 257-340) compares only the base command name against a whitelist and then forwards the attacker-controlled argument string to a shell, so shell metacharacters such as ';', '&&', '|', backticks and '$()' are interpreted by the shell rather than treated as literal arguments. Because the whitelist decision is made on the command token alone, any permitted command plus a metacharacter sequence yields execution of an arbitrary forbidden command with the server user's privileges. The patch commit referenced by the vendor (932ce733cde07bb30b1f186303e6692dbb5d087a) is part of a 'mac-shell-mcp-2-security-redesign' effort and also moves the MCP SDK to 1.30 and zod to ^4.5.2, indicating the fix reworks validation/argument handling rather than applying a single string filter.
Know when Mac Shell Mcp 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:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Requires an authorized MCP client (PR:L) over a local/IPC interface (AV:L) with no interaction; injection is trivial (AC:L) and grants full arbitrary code execution as the server user (C/I/A:H, scope unchanged).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
mac-shell-mcp before 2.0.0 contains an OS command injection vulnerability that allows MCP clients to bypass the command whitelist by injecting shell metacharacters into execute_command arguments. Attackers or malicious prompts can call a safe command such as pwd with arguments like ';' to run forbidden commands as the server user without approval.
Executive ViewAI
mac-shell-mcp, a tool for integrating command-line capabilities with AI/LLM clients, contains a high-severity OS command injection flaw (CVE-2026-108953) in versions before 2.0.0 that allows an authenticated local MCP client to bypass command whitelisting and execute arbitrary commands as the server user. This could enable a malicious or prompt-injected LLM to compromise the host, leading to data theft, system tampering, or lateral movement within the organization. Leadership should prioritize patching because this vulnerability affects any team using AI-driven automation with this tool, potentially exposing sensitive systems and data.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
EUVD-2026-97360
GHSA-ffv7-8x5h-5w7r
NVD
CVE.org
EPSS
Exploit-DB