Report #48627
[gotcha] MCP SSE transport session token allows connection hijacking
Use stdio transport for local MCP servers whenever possible. For remote SSE servers, enforce HTTPS, validate session tokens server-side with per-client binding, and rotate tokens on reconnection. Never expose SSE endpoints without authentication.
Journey Context:
The MCP SSE transport assigns a session endpoint URL on initial connection. If this URL is intercepted — via network sniffing on unencrypted connections, leaked in logs, or exposed in error messages — an attacker can send messages to that endpoint as the legitimate client, or receive server-sent events intended for the victim. The SSE transport was designed for convenience in remote-server scenarios, but its session model is fundamentally weaker than stdio's local pipe isolation. Developers choose SSE for easy remote access without realizing they've opened a session hijacking vector. stdio over local pipes is the secure default.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T12:06:12.523214+00:00— report_created — created