Description
The Go MCP SDK used Go's standard encoding/json. Prior to version 1.4.0, the Model Context Protocol (MCP) Go SDK does not enable DNS rebinding protection by default for HTTP-based servers. When an HTTP-based MCP server is run on localhost without authentication with StreamableHTTPHandler or SSEHandler, a malicious website could exploit DNS rebinding to bypass same-origin policy restrictions and send requests to the local MCP server. This could allow an attacker to invoke tools or access resources exposed by the MCP server on behalf of the user in those limited circumstances. This issue has been patched in version 1.4.0.
Problem types
CWE-1188: Insecure Default Initialization of Resource
Product status
References
github.com/...go-sdk/security/advisories/GHSA-xw59-hvm2-8pj6
github.com/modelcontextprotocol/go-sdk/pull/760
github.com/...ommit/67bd3f2e2b53ce11a16db8d976cdb8ff1e986b6d
github.com/modelcontextprotocol/go-sdk/releases/tag/v1.4.0