CVE-2026-33252 json
MCP Go SDK Allows Cross-Site Tool Execution for HTTP Servers without Authorizatrion
published 2026-03-19 7 mo ago modified 2026-09-10 1 mo ago also EUVD-2026-14643 , GHSA-89xv-2j6f-qhc8 , GO-2026-4773
- cvss
- 7.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 7%
- public exploits
- 0
- none known
Summary
The Go MCP SDK used Go's standard encoding/json. Prior to version 1.4.1, 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. Version 1.4.1 contains a patch for the issue.
Patch / fix
- go github.com/modelcontextprotocol/go-sdk 1.4.1
- lfprojects mcp_go_sdk 1.4.1
- govulncheck-vulndb openSUSE Leap 15.6 0.0.20260326T203309-150000.1.155.2
suse advisories SUSE-SU-2026:1135-1
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-33252 updated cvss 7.1
encoding/json: golang: github.com/modelcontextprotocol/go-sdk: Go MCP SDK: Remote tool execution via cross-site request forgery
-
Red Hat Migration Toolkit for Virtualization mtv-candidate/mtv-api-rhel9, mtv-candidate/mtv-operator-bundle, mtv-candidate/mtv-controller-rhel9, mtv-candidate/mtv-cli-download-rhel9, migration-toolkit-virtualization/mtv-cli-download-rhel9affected: workaround, no fix planned “Will not fix”
-
Red Hat OpenShift Serverless openshift-serverless-clients, openshift-serverless-1/kn-client-kn-rhel9, openshift-serverless-1/kn-plugin-func-func-util-rhel9 Red Hat OpenShift AI (RHOAI) rhoai/odh-mod-arch-gen-ai-rhel9affected: workaround, no fix available
-
Red Hat OpenShift Dev Spaces 3.28 devspaces/udi-rhel9 1779829736fixed: vendor fix RHSA-2026:21772
-
Red Hat OpenShift Lightspeed openshift-lightspeed/openshift-mcp-server-rhel9not affected: vulnerable code not present
-
Red Hat Hardened Images golang1.25, golang1.26not affected: component not present
-
Red Hat OpenShift Dev Spaces 3.28 devspaces/code-rhel9 1779814592, devspaces/server-rhel9 1779342423, devspaces/openvsx-rhel9 1779528224, devspaces/traefik-rhel9 1779786779, devspaces/udi-base-rhel9 1779741066, devspaces/code-sshd-rhel9 1779813519, +9 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L |
| GitHub | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L |
| NVD | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/modelcontextprotocol/go-sdk | <1.4.1 |
1.4.1 |
Affected products
- modelcontextprotocol go-sdk
Classification
- Weakness
-
- CWE-352 Cross-Site Request Forgery
References
-
github.com
/modelcontextprotocol/go-sdk/commit/a433a831d6e5d5ac3b9e625a8095aa8eaa040dfc
web, patch
-
github.com
/modelcontextprotocol/go-sdk/security/advisories/GHSA-89xv-2j6f-qhc8
web, patch, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-33252
advisory
-
github.com
/modelcontextprotocol/go-sdk
package
Sources
- CVE List CVE-2026-33252
- GitHub Advisory GHSA-89xv-2j6f-qhc8
- NVD CVE-2026-33252
- OSV GO-2026-4773
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.