mcp-shell — Security Disabled by Default in Bare-Binary Deploy Path + Shell Interpreter in Secure-Mode Allowlist
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-55580
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 09:54 UTC · Revision 1
Source evidence
mcp-shell — Security Disabled by Default in Bare-Binary Deploy Path + Shell Interpreter in Secure-Mode Allowlist
core-osv · Original sourcePublished 25 Aug 2026, 15:42 UTC
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.
osv:CVE-2026-55580
Complete source record
{
"id": "d076a0a00aa825d092cbdd8c53da150e675e84d797ebe5e65fa27f54eaff90de",
"url": "https://osv.dev/vulnerability/CVE-2026-55580",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "mcp-shell — Security Disabled by Default in Bare-Binary Deploy Path + Shell Interpreter in Secure-Mode Allowlist",
"summary": "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.",
"evidence": "osv:CVE-2026-55580",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-55580",
"aliases": [
"CVE-2026-55580",
"GHSA-f5pj-2738-996m",
"GO-2026-6292"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "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"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/sonirico/mcp-shell",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "df02c8c74044a950d5c085626da8de49c7551cd5"
},
{
"fixed": "f31377fce6ec31114e5a4398c0e5270552bce09f"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "0.6.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "f31377fce6ec31114e5a4398c0e5270552bce09f"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "df02c8c74044a950d5c085626da8de49c7551cd5"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v0.6.0"
}
]
}
}
],
"versions": [
"v0.5.0",
"v0.4.0",
"v0.3.1",
"v0.3.0",
"v0.2.2",
"v0.2.0",
"v0.1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-55580.json"
}
}
],
"modified": "2026-10-28T02:30:27.665150978Z",
"provider": "osv",
"references": [
"https://github.com/sonirico/mcp-shell/releases/tag/v0.6.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55580.json",
"https://github.com/sonirico/mcp-shell/security/advisories/GHSA-f5pj-2738-996m",
"https://nvd.nist.gov/vuln/detail/CVE-2026-55580",
"https://github.com/sonirico/mcp-shell/commit/f31377fce6ec31114e5a4398c0e5270552bce09f",
"https://github.com/sonirico/mcp-shell/pull/16"
],
"provider_metadata": {
"cwe_ids": [
"CWE-78"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55580.json"
}
},
"related_cves": [
{
"value": "CVE-2026-55580",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 494328,
"published_at": "2026-08-25T15:42:36.474+00:00"
}