Skip to content
HighVulnerability

GHSA-f5pj-2738-996m: mcp-shell — Security Disabled by Default in Bare-Binary Deploy Path + Shell Interpreter in Secure-Mode Allowlist

Published
Record updated
View JSON
Affected
  • github.com/sonirico/mcp-shell < 0.6.0
Fixed in
0.6.0
  • released June 14, 2026, 72 days before disclosure
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.2%

Summary

mcp-shell at commit 17ac0eef5c9a5a42b8fb132d3d034973d55a5433 ships with its security layer disabled: config.go sets SecurityConfig Enabled to false, and the from-source install path and MCP client example never set MCP_SHELL_SEC_CONFIG_FILE, so any connected LLM can call shell_exec with arbitrary commands. Separately, the official security.yaml baked into the Docker image lists /bin/bash and /usr/bin/python3 in allowed_executables, so secure mode can be bypassed by calling /bin/bash -i, which passes validation and yields an interactive shell.

Mitigation

Flip the default to SecurityConfig{Enabled: true}, making secure mode the operating default, and keep unrestricted mode behind an affirmative opt-in flag or environment variable such as --allow-unsafe.