Description
mcp-shell is an MCP server for running shell commands securely, auditably, and on demand. Prior to 0.6.0, config.go initializes Security.Enabled to false, and when MCP_SHELL_SEC_CONFIG_FILE is unset, main.go starts the documented bare-binary deployment without a security policy. SecurityValidator.validateCommand in security.go then short-circuits and allows every command supplied to the shell_exec MCP tool, so an LLM connected over stdio can execute unrestricted OS commands as the mcp-shell process user. The README from-source installation and MCP client configuration omit MCP_SHELL_SEC_CONFIG_FILE, making the insecure state the documented default. This issue is fixed in version 0.6.0.
Published: 2026-08-25
Score: 8.6 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

mcp-shell previously disabled security features by default, and a configuration mistake left Security.Enabled set to false in versions earlier than 0.6.0. When the environment variable MCP_SHELL_SEC_CONFIG_FILE is not supplied, the program starts in a bare-binary deployment that skips security policy validation. Consequently, the SecurityValidator.validateCommand function bypasses all checks, permitting any shell command supplied through the shell_exec MCP tool to be run with the privileges of the mcp-shell process user. This flaw represents an operating‑system command injection vulnerability (CWE‑78) that can lead to complete compromise of the host system. The in‑documentation default of a missing configuration file means many installations, especially those built from source or using the README‑guided deployment, are exposed by default.

Affected Systems

The affected product is mcp-shell developed by sonirico. Versions prior to 0.6.0 implement the broken logic. The vulnerability specifically impacts deployments that omit the MCP_SHELL_SEC_CONFIG_FILE environment variable, a scenario documented in the README and client configuration guidance.

Risk and Exploitability

The CVSS score of 8.6 marks this as a high‑severity issue, indicating substantial impact if exploited. No EPSS score is available, so the current probability of exploitation cannot be quantified. This vulnerability is not listed in the CISA KEV catalog. The attack vector is inferred to be local or through a compromised LLM connection over stdio, as the flaw hinges on an attacker supplying commands to the shell_exec tool via that interface. The potential consequences include arbitrary command execution, data exfiltration, or system takeover, depending on the privileges of the mcp-shell process.

Generated by OpenCVE AI on August 25, 2026 at 21:16 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to mcp-shell version 0.6.0 or newer, where the default security policy is enabled and the command validator no longer allows unrestricted execution.
  • If upgrading immediately is not possible, set the environment variable MCP_SHELL_SEC_CONFIG_FILE to a valid security configuration file and ensure the Security.Enabled flag is set to true in the configuration to re‑enable policy checks.
  • Audit and review any existing mcp-shell deployments to confirm that the configuration file is present and that no command allowlists are unintentionally permissive; adjust the allowlist to enforce the principle of least privilege.

Generated by OpenCVE AI on August 25, 2026 at 21:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-f5pj-2738-996m mcp-shell — Security Disabled by Default in Bare-Binary Deploy Path + Shell Interpreter in Secure-Mode Allowlist
History

Tue, 25 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
First Time appeared Sonirico
Sonirico mcp-shell
Vendors & Products Sonirico
Sonirico mcp-shell

Tue, 25 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 25 Aug 2026 16:00:00 +0000

Type Values Removed Values Added
Description mcp-shell is an MCP server for running shell commands securely, auditably, and on demand. Prior to 0.6.0, config.go initializes Security.Enabled to false, and when MCP_SHELL_SEC_CONFIG_FILE is unset, main.go starts the documented bare-binary deployment without a security policy. SecurityValidator.validateCommand in security.go then short-circuits and allows every command supplied to the shell_exec MCP tool, so an LLM connected over stdio can execute unrestricted OS commands as the mcp-shell process user. The README from-source installation and MCP client configuration omit MCP_SHELL_SEC_CONFIG_FILE, making the insecure state the documented default. This issue is fixed in version 0.6.0.
Title mcp-shell — Security Disabled by Default in Bare-Binary Deploy Path + Shell Interpreter in Secure-Mode Allowlist
Weaknesses CWE-78
References
Metrics cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Sonirico Mcp-shell
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-25T16:08:10.442Z

Reserved: 2026-06-16T23:18:03.169Z

Link: CVE-2026-55580

cve-icon Vulnrichment

Updated: 2026-08-25T16:08:04.282Z

cve-icon NVD

Status : Deferred

Published: 2026-08-25T16:16:55.317

Modified: 2026-09-09T21:07:31.353

Link: CVE-2026-55580

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T21:30:06Z

Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')