GHSA-wvj2-96wp-fq3f

Suggest an improvement
Source
https://github.com/advisories/GHSA-wvj2-96wp-fq3f
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-wvj2-96wp-fq3f/GHSA-wvj2-96wp-fq3f.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-wvj2-96wp-fq3f
Aliases
Downstream
Related
Published
2026-02-26T22:20:08Z
Modified
2026-02-28T05:43:51.072252Z
Severity
  • 7.0 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N CVSS Calculator
Summary
MCP Go SDK Vulnerable to Improper Handling of Case Sensitivity
Details

The Go MCP SDK used Go's standard encoding/json.Unmarshal for JSON-RPC and MCP protocol message parsing. Go's standard library performs case-insensitive matching of JSON keys to struct field tags — a field tagged json:"method" would also match "Method", "METHOD", etc. Additionally, Go's standard library folds the Unicode characters ſ (U+017F) and K (U+212A) to their ASCII equivalents s and k, meaning fields like "paramſ" would match "params". This violated the JSON-RPC 2.0 specification, which defines exact field names.

Impact:

A malicious MCP peer may have been able to send protocol messages with non-standard field casing (e.g., "Method" instead of "method") that the SDK would silently accept. This had the potential for: - Bypassing intermediary inspection: Proxies or policy layers that matched on exact field names may have failed to detect or filter these messages. - Cross-implementation inconsistency: Other MCP SDKs (TypeScript, Python) use case-sensitive parsing and would reject the same messages, creating potential security-boundary confusion.

Fix:

Go's standard JSON unmarshaling was replaced with a case-sensitive decoder (github.com/segmentio/encoding) in commit 7b8d81c. Users are advised to update to v1.3.1 to resolve this issue.

Credits:

MCP Go SDK thanks Francesco Lacerenza (Doyensec) for reporting this issue.

Database specific
{
    "nvd_published_at": "2026-02-26T01:16:25Z",
    "github_reviewed_at": "2026-02-26T22:20:08Z",
    "github_reviewed": true,
    "cwe_ids": [
        "CWE-178",
        "CWE-436"
    ],
    "severity": "HIGH"
}
References

Affected packages

Go / github.com/modelcontextprotocol/go-sdk

Package

Name
github.com/modelcontextprotocol/go-sdk
View open source insights on deps.dev
Purl
pkg:golang/github.com/modelcontextprotocol/go-sdk

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.3.1

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-wvj2-96wp-fq3f/GHSA-wvj2-96wp-fq3f.json"