What happened
The real model selected and invoked the execute tool in response to an unauthenticated caller's message, and command output was returned to that caller.
2026-07-22
HighPrimaryA primary advisory demonstrates a real model executing shell commands for an unauthenticated MCP caller in fast-agent 0.7.20. Controlled-test limits explained.
What happened
The real model selected and invoked the execute tool in response to an unauthenticated caller's message, and command output was returned to that caller.
Why it matters
Demonstrated command execution as root within the test container and disclosure of process identity, hostname and /etc/passwd lines. No production breach, host compromise or credential theft is verified.
Missing authorization check
Authenticated caller authority bound to the exact shell operation, independently enforced before execution even without an interactive approval UI.
Would PP block it?
A gate must mediate the actual shell sink and fail closed when no approver is present. It could bind the caller, exact command and execution environment; it does not authenticate the exposed MCP transport by itself.
Incident analysis
2026-07-22
Vendor-hosted advisory published the controlled reproduction for fast-agent-mcp 0.7.20 and lists 0.7.21 as patched.
Authorization boundary
This incident is categorized as Tool execution / MCP. The relevant Permission Protocol gate is Tool-Call Gate. The read is conditional: the block only applies where the real action boundary is routed through a gate.
An independently integrated execution gate could reject a shell action lacking caller-bound authority, but no PP integration was evaluated in the reproduction.
Related incidents and controls
Start small
This incident maps to Tool-Call Gate. Start with the boundary that controls the actual action, then require a signed receipt before execution.