Impact
The vulnerability arises from the Go MCP SDK's use of Go's standard encoding/json.Unmarshal for parsing JSON-RPC and MCP protocol messages in versions before 1.3.1. Unlike the JSON-RPC 2.0 specification, which requires exact matching of field names, this unmarshal routine matches keys case-insensitively. As a result, a field tagged json:"method" would also match "Method", "METHOD", or any other casing variant. An attacker able to control the content of a remote MCP peer could send protocol messages that use non-standard casing. The SDK would accept these values silently, potentially bypassing intermediary inspection and exposing inconsistencies between implementations. The outcome could be unauthorized manipulation of protocol behavior or the execution of unintended actions, depending on how the application uses the parsed data. The issue is reflected by CWE-178 (Improper Validation of Arguments) and CWE-436 (Improper Treatment of Input).
Affected Systems
Users employing the MCP Go SDK prior to version 1.3.1 are affected. The affected product is the modelcontextprotocol go-sdk, also known as lfprojects:mcp_go_sdk. Any deployment that relies on this SDK for handling MCP protocol or JSON-RPC messages must upgrade to version 1.3.1 or later to receive the case-sensitive JSON decoder that was introduced in commit 7b8d81c.
Risk and Exploitability
The CVSS v3.1 score for this flaw is 7.0, indicating a high severity. The EPSS score is below 1%, showing that the probability of public exploitation at this time is very low. The vulnerability is not listed in the CISA KEV catalog. The likely attack path involves a malicious MCP peer that sends JSON-RPC messages with improperly cased field names. Since the untrusted peer input is parsed without strict field name validation, an attacker can trigger the SDK to treat these messages as valid, bypassing checks that would normally reject them. The impact is confined to systems that use the affected SDK version and accept connections from such peers; however, the non-compliant behavior can lead to unpredictable application behavior, data corruption, or other unintended effects.
OpenCVE Enrichment
Github GHSA