Medium, CVSS 6.4PyPIAmendedPublished
fast-agent: fast-agent serve binds HTTP to 0.0.0.0 with no authentication by default; with --shell this is unauthenticated remote command execution
CVE-2026-102610 · GHSA-9vhv-g5hf-m7m7
- Affected
- PyPI fast-agent-mcp < 0.7.21
- Fixed in
- 0.7.21· Vendor fix available
- Issue
- `fast-agent serve` exposes the agent over MCP. By default it uses HTTP transport bound to `0.0.0.0` (all interfaces) on port 8000 with no authentication (`auth=None`) and prints no warning. Any host that can reach the port can call the exposed `agent` tool. When the server is started with `--shell` (which is `-x`, the flag used in the README quickstart `uvx fast-agent mcp@latest -x`), the agent has a local `execute` shell tool, so an unauthenticated remote client can drive the agent into running arbitrary OS commands — unauthenticated RCE. Affected code - `cli/commands/serve.py` — transport defaults to HTTP; `--host` defaults to `0.0.0.0`; port 8000. - `mcp/server/agent_server.py` — `auth_provider = None` unless `FAST_AGENT_SERVE_OAUTH=huggingface`; `run_async(transport="http", host=host, ...)` with `host` defaulting to `0.0.0.0`. - `tools/local_shell_executor.py` — the shell tool runs commands via `create_subprocess_shell`. Verified (live, faithful — published…
Recommended action: Upgrade to 0.7.21 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.