Fetching from the wire…
Public story · 2026-08-26 · high
Follow the project's own Docker setup and a shell metacharacter check still lets commands past the allowlist.
Why now: Three advisories against the project posted together, fixed in version 0.6.0.
sonirico/mcp-shell says it runs shell commands "securely, auditably, and on demand." Three advisories say otherwise.
The bare-binary deploy, the one in the project's own docs, ships with no policy enforcement at all. GHSA-f5pj-2738-996m traces it to config.go, which initializes Security.Enabled to false. Skip the extra config step most users would skip, and every command runs unchecked. That one scores 8.6.
The Docker path, the one meant to fix that, has its own hole. The image ships a security.yaml that allowlists /bin/bash but only validates the first token of the command. /bin/bash -c followed by anything gets through. A second bypass works the same way through git aliases: git -c alias.pwn=!<command> runs arbitrary code because the metacharacter check never accounts for !. That one is 8.4.
So the two paths the docs actually describe both fail open. Skip the config and get no security. Follow the official Docker example and get a security file that doesn't do its job.
All three are fixed in 0.6.0. The advisory doesn't say how long the flaws sat in prior releases or whether any deployments were hit before the fix. If you're running an older tag, the move is checking whether Security.Enabled actually flips true in your config, not trusting that pulling the Docker image did it for you.
Each link below shares sources, entities, or timing with this story.
CVE-2026-45018 covers Chainlit >=2.4.0rc0 <2.12.0. With features.mcp.enabled = true, POST /mcp accepts a user-controlled fullCommand for stdio transport. validate_mcp_command() checks the executable name against an allowlist and never inspects arguments, so npx -y -c '<command...
On August 25 the advisory database published 20 advisories against PraisonAI and praisonaiagents: 1 critical, 15 high, 4 medium. The recurring pattern is authentication that's declared but never enforced. praisonai serve agents --api-key is silently ignored. AgentServer declar...
GHSA-533j-2v4q-mw5h (CVE-2026-55253, CVSS 7.7) covers MongoDBSaver.list() and MongoDBStore.search() accepting a filter without rejecting $-prefixed MongoDB operator keys, letting a caller who controls the filter read checkpoints outside their thread scope. Fixed in langgraph-c...
NVD posted nine advisories on August 25, clustering into one shape: a local server assuming a browser can't reach it. PraisonAI validated MCP origins with request_origin.startswith(allowed) against a localhost allowlist, so an attacker-registered localhost.attacker.com passes...
— Security researcher Ari Marzouk disclosed 30+ vulnerabilities (24 CVEs) affecting Cursor, GitHub Copilot, Windsurf, Zed, Kiro, Roo Code, Junie, and Cline. The devastating finding: every tested AI IDE is vulnerable because none accounts for autonomous LLM agent behavior in th...
GHSA-2cp2-2r3c-7p7r (CVE-2026-68508, CVSS 7.8) covers hydra.utils.instantiate() resolving and calling whatever _target_ names. Hydra isn't a network service, so you need an app that loads attacker-controlled config, CLI overrides, or model metadata. That last path is the one t...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.