CVE-2026-27896
Received Received - Intake
Case-Insensitive JSON Parsing Flaw in Go MCP SDK Allows Protocol Bypass

Publication date: 2026-02-26

Last updated on: 2026-04-14

Assigner: GitHub, Inc.

Description
The Go MCP SDK used Go's standard encoding/json.Unmarshal for JSON-RPC and MCP protocol message parsing in versions prior to 1.3.1. 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. This violated the JSON-RPC 2.0 specification, which defines exact field names. A malicious MCP peer may have been able to send protocol messages with non-standard field casing that the SDK would silently accept. This had the potential for bypassing intermediary inspection and coss-implementation inconsistency. Go's standard JSON unmarshaling was replaced with a case-sensitive decoder in commit 7b8d81c. Users are advised to update to v1.3.1 to resolve this issue.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-26
Last Modified
2026-04-14
Generated
2026-05-07
AI Q&A
2026-02-26
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
lfprojects mcp_go_sdk to 1.3.1 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-436 Product A handles inputs or steps differently than Product B, which causes A to perform incorrect actions based on its perception of B's state.
CWE-178 The product does not properly account for differences in case sensitivity when accessing or determining the properties of a resource, leading to inconsistent results.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

[{'type': 'paragraph', 'content': 'CVE-2026-27896 is a vulnerability in the Go MCP SDK versions prior to 1.3.1 related to how JSON messages are parsed. The SDK used Go\'s standard JSON unmarshaling, which matches JSON keys to struct fields in a case-insensitive way. This means that fields like "method" could also match "Method" or "METHOD", violating the JSON-RPC 2.0 specification that requires exact case-sensitive matching.'}, {'type': 'paragraph', 'content': 'Because of this, a malicious MCP peer could send protocol messages with non-standard casing that the SDK would accept silently, potentially bypassing intermediary inspection or causing inconsistencies between different implementations that enforce case sensitivity.'}, {'type': 'paragraph', 'content': 'The issue was fixed by replacing the standard JSON unmarshaler with a case-sensitive decoder from the external package github.com/segmentio/encoding, enforcing exact case matching of JSON keys.'}] [1, 2]


How can this vulnerability impact me? :

This vulnerability can allow a malicious MCP peer to send protocol messages with incorrectly cased JSON fields that the vulnerable SDK would accept, potentially bypassing security controls such as intermediary inspection or policy enforcement layers that rely on exact field name matching.

Such bypasses could lead to unauthorized or malformed messages passing undetected, causing security boundary confusion and inconsistent behavior across different MCP SDK implementations.

The vulnerability has a high severity rating with a CVSS v4 base score of 7.0 and can be exploited remotely without any privileges or user interaction.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

I don't know


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, users should update the Go MCP SDK to version 1.3.1 or later.

The update replaces the standard Go JSON unmarshaling with a case-sensitive decoder, ensuring that JSON keys must exactly match the struct field tags or names in a case-sensitive manner.

This prevents acceptance of protocol messages with non-standard field casing that could bypass intermediary inspection or cause cross-implementation inconsistencies.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart