{"id":"GHSA-q382-vc8q-7jhj","summary":"Improper handling of null Unicode character when parsing JSON in github.com/modelcontextprotocol/go-sdk","details":"The Go SDK recently transitioned to the `segmentio/encoding` library for JSON parsing in version 1.3.1. While this change addressed both case-insensitivity and ASCII folding issues, the new parser implemented aggressive key matching that treated keys with `null` Unicode characters appended at the end as equivalent to their base strings.\n\n#### Impact\n\nWhen combined with duplicate keys, the described behavior leads to a \"last key wins\" resolution that could override the intended MCP message. This had the potential for:\n  - **Bypassing intermediary inspection:** Proxies or policy layers that matched on exact field names may have failed to detect or filter these messages.\n  - **Cross-implementation inconsistency:** Other MCP SDKs (TypeScript, Python) use case-sensitive parsing and would reject the same messages, creating potential security-boundary confusion.\n\n####  Fix:\n\nThe `segmentio/encoding` package was patched with a fix in https://github.com/segmentio/encoding/commit/7d5a25dbc5da13aed3cb047a127e4d0e96f536fb and a new version of the package was released (`v0.5.4`). The SDK switched to the patched version of the dependency in 724dd47aa. Users are advised to update to v1.4.1 to resolve this issue.\n\n#### Credits:\nThank you to Francesco Lacerenza (Doyensec) for reporting this issue.","aliases":["GO-2026-4770"],"modified":"2026-07-17T21:09:25.236148876Z","published":"2026-03-19T12:44:07Z","database_specific":{"cwe_ids":["CWE-1395","CWE-436"],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2026-03-19T12:44:07Z","nvd_published_at":null},"references":[{"type":"WEB","url":"https://github.com/modelcontextprotocol/go-sdk/security/advisories/GHSA-q382-vc8q-7jhj"},{"type":"WEB","url":"https://github.com/modelcontextprotocol/go-sdk/commit/724dd47aa3431b9d4cf9ac2eebbf7b38a629afca"},{"type":"WEB","url":"https://github.com/segmentio/encoding/commit/7d5a25dbc5da13aed3cb047a127e4d0e96f536fb"},{"type":"PACKAGE","url":"https://github.com/modelcontextprotocol/go-sdk"}],"affected":[{"package":{"name":"github.com/modelcontextprotocol/go-sdk","ecosystem":"Go","purl":"pkg:golang/github.com/modelcontextprotocol/go-sdk"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.4.1"}]}],"database_specific":{"last_known_affected_version_range":"\u003c= 1.4.0","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-q382-vc8q-7jhj/GHSA-q382-vc8q-7jhj.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:L/SA:N"}]}