GitHub Advisoryadvisory · Go

GHSA-xw59-hvm2-8pj6 DNS Rebinding Protection Disabled by Default in Model Context Protocol Go SDK for Servers Running on Localhost

HIGH Published 2026-04-01 Modified 2026-07-21 Official page ↗
Aliases
CVE-2026-34742
Ecosystem
Go
Packages
github.com/modelcontextprotocol/go-sdk
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Weaknesses
CWE-1188
Reviewed
2026-04-01

Affected packages

• Go github.com/modelcontextprotocol/go-sdk: < 1.4.0 → fixed in 1.4.0

Description

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. Note that running HTTP-based MCP servers locally without authentication is not recommended per MCP security best practices. This issue does not affect servers using stdio transport. Servers created via `StreamableHTTPHandler` or `SSEHandler` now have this protection enabled by default when binding to `localhost`. Users are advised to update to version `1.4.0` to receive this automatic protection.

Related

Alias · CVE (1)

  • CVE-2026-34742 The Go MCP SDK used Go's standard encoding/json. vulnerability

Weakness · CWE (1)

  • CWE-1188 Initialization of a Resource with an Insecure Default weakness

References