Executive brief
ToolHive is a container orchestration system for AI-powered MCP (Model Context Protocol) servers. By default, ToolHive containers can reach services on the host machine—including the ToolHive control plane itself, other MCP servers, and any other localhost services—via Docker's host.docker.internal mechanism. Combined with unauthenticated API endpoints, this allows a compromised or malicious MCP server to attack other services on the host without escaping the container, bypassing ToolHive's core security model.
Technical details
The vulnerability is a combination of three design weaknesses: (1) the default `insecure_allow_all: true` permission profile permits unrestricted outbound connections, (2) ToolHive's MCP proxy endpoints (port 50444 and others) lack authentication, and (3) Docker's host.docker.internal DNS resolves to the host machine, allowing containers to reach localhost services. An attacker with code execution inside a container can perform MCP handshakes with the host's ToolHive API and other MCP server proxies, enumerate and call their tools (e.g., execute_command, write_file), pivot to privileged native MCP servers, or reach other host services like Kubernetes APIs or LLM endpoints. No container escape or additional vulnerability is required; network access alone is sufficient for lateral movement and privilege escalation.
Affected products
- ToolHive ToolHive v0.9.3 and default configuration
Timeline
- 2026-09-18: disclosed: Advisory published on GitHub
- 2026: other: CVE-2026-58197 assigned