Executive brief
The MCP Toolbox's HTTP tool allows an attacker to bypass configured API path restrictions by injecting directory traversal sequences into URL parameters. This enables unauthorized access to sensitive endpoints (such as admin or secrets pages) on the same server while reusing the toolbox's configured credentials. The vulnerability affects any deployment using the HTTP tool without additional input validation.
Technical details
The vulnerability is a path traversal flaw (CWE-22) in the HTTP tool's URL builder component. The root cause is the use of Go's ResolveReference() function, which normalizes dot segments (..) during URL resolution. An unauthenticated network attacker can inject URL-encoded or literal dot-segment sequences (e.g., ../, %2e%2e) into path parameters to escape the operator-configured base path. For example, a tool restricted to /api/v1/users/{{.id}} can be coerced to request /admin/secrets by supplying a crafted id parameter. The attacker needs network access to invoke the HTTP tool but requires no authentication or user interaction. The fix, released in version 1.3.0, rejects relative and encoded dot segments and validates that resolved paths remain within the intended base path scope, supplemented by pathEscape and queryEscape template functions for safe parameter substitution.
Affected products
- Google MCP Toolbox < 1.3.0
Timeline
- 2026-06-29: disclosed: Published to GitHub Advisory Database
- 2026-05-21: patched: Fixed in version 1.3.0 released
- 2026-09-04: advisory: GitHub security review completed