GitHub Advisoryadvisory · Go

GHSA-89xv-2j6f-qhc8 Cross-Site Tool Execution for HTTP Servers without Authorizatrion in github.com/modelcontextprotocol/go-sdk

HIGH Published 2026-03-19 Modified 2026-03-25 Official page ↗
Aliases
CVE-2026-33252
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:N/I:H/A:L
Weaknesses
CWE-352
Reviewed
2026-03-19

Affected packages

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

Description

The Go SDK's Streamable HTTP transport accepted browser-generated cross-site `POST` requests without validating the `Origin` header and without requiring `Content-Type: application/json`. In deployments without Authorization, especially stateless or sessionless configurations, this allows an arbitrary website to send MCP requests to a local server and potentially trigger tool execution. Impact: A malicious website may have been able to send cross-site POST requests with `Content-Type: text/plain`, which due to CORS-safelisted properties would reach the MCP message handling without any CORS preflight barrier. Fix: The SDK was modified to perform `Content-Type` header validation for POST requests and introduced a configurable protection for verifying the origin of the request in commit a433a83. Users are advised to update to v1.4.1 to use this additional protection. Note: v1.4.1 requires Go 1.25 or later. Credits: Thank you to Lê Minh Quân for reporting the issue.

Related

Alias · CVE (1)

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

Weakness · CWE (1)

  • CWE-352 Cross-Site Request Forgery weakness

References