Executive brief
The Dash MCP server is a local tool that integrates Dropbox search and file operations with AI assistants. When running in network mode, the server bound to the loopback address but failed to validate the hostname in incoming requests. An attacker could trick a user's browser into accessing the local server using a rebinded domain name, allowing the attacker to invoke Dropbox operations using the server's stored credentials without authorization.
Technical details
The vulnerability is a DNS rebinding attack on a FastMCP server running in network mode. The vulnerable component (src/mcp_server_dash.py) bound the listener to 127.0.0.1 but omitted Host header validation in the HTTP transport layer. An attacker can craft a malicious website that uses DNS rebinding (e.g., *.attacker.tld resolves to 127.0.0.1) to make a victim's browser send requests to the loopback server. The request carries the attacker's hostname in the Host header, which was never validated. This allows the attacker to invoke the dash_company_search and dash_get_file_details tools using the server's Dropbox token, achieving unauthorized access through a confused deputy attack. The fix adds TransportSecuritySettings with enable_dns_rebinding_protection=True and allowed_hosts validation to reject non-loopback Host headers at the transport middleware before tool dispatch. Only network mode is affected; stdio mode is not vulnerable.
Affected products
- Dropbox mcp-server-dash
Timeline
- 2026-08-27: disclosed: CVE-2026-81102 published
- 2026-06-30: patched: Fix merged in PR #12