<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>mcp-go: JSON-RPC member-name case/Unicode folding lets calls bypass exact-match proxy allowlists (through v1.5.0, unpatched) · updates</title>
  <link>https://pwn.watch/i/mcp-go-jsonrpc-case-folding-proxy-bypass-go-2026-6911</link>
  <description>mark3labs/mcp-go's MCPServer.HandleMessage decodes JSON-RPC with encoding/json, which matches member names case-insensitively, folds ſ (U+017F) to s and K (U+212A) to k, and keeps the last of duplicate members. A request with Method/METHOD/paramſ, or with method given twice, still runs as the named call. mcp-go does not authorize calls itself, so this matters when a gateway or proxy in front allowlists method / params.name with an exact-match parser: the proxy may not see the call the server executes. The official Model Context Protocol Go SDK had the same class of bug (CVE-2026-27896 / GHSA-wvj2-96wp-fq3f) and fixed it in 1.3.1. Reported privately to contact@mark3labs.com on 2026-08-16 with no reply, then disclosed. Affected through v1.5.0 (tested on v1.0.0-beta.1, v1.4.0 and main after v1.5.0); no fix released. Workarounds: reject messages whose member names are not exactly the defined ones or that repeat a member, or re-encode before forwarding.</description>
  <language>en</language>
  <lastBuildDate>Wed, 04 Nov 2026 00:00:00 GMT</lastBuildDate>
  <atom:link href="https://pwn.watch/i/mcp-go-jsonrpc-case-folding-proxy-bypass-go-2026-6911/feed.xml" rel="self" type="application/rss+xml" />
  <item>
    <title>mcp-go: JSON-RPC member-name case/Unicode folding lets calls bypass exact-match proxy allowlists (through v1.5.0, unpatched): golang/vulndb#6911 opened describing the mcp-go JSON-RPC case/Unicode-folding proxy-allowlist bypass; fixed in: not fixed.</title>
    <link>https://pwn.watch/i/mcp-go-jsonrpc-case-folding-proxy-bypass-go-2026-6911</link>
    <guid isPermaLink="false">https://pwn.watch/i/mcp-go-jsonrpc-case-folding-proxy-bypass-go-2026-6911#2026-11-04-45f88efd</guid>
    <pubDate>Wed, 04 Nov 2026 00:00:00 GMT</pubDate>
    <category>high</category>
    <description>&lt;p&gt;&lt;a href=&quot;https://github.com/golang/vulndb/issues/6911&quot;&gt;Source&lt;/a&gt;&lt;/p&gt;</description>
  </item>
  <item>
    <title>mcp-go: JSON-RPC member-name case/Unicode folding lets calls bypass exact-match proxy allowlists (through v1.5.0, unpatched): Public disclosure filed as mark3labs/mcp-go#1164 after private report and follow-up went unanswered.</title>
    <link>https://pwn.watch/i/mcp-go-jsonrpc-case-folding-proxy-bypass-go-2026-6911</link>
    <guid isPermaLink="false">https://pwn.watch/i/mcp-go-jsonrpc-case-folding-proxy-bypass-go-2026-6911#2026-11-04-9a3facf7</guid>
    <pubDate>Wed, 04 Nov 2026 00:00:00 GMT</pubDate>
    <category>high</category>
    <description>&lt;p&gt;&lt;a href=&quot;https://github.com/mark3labs/mcp-go/issues/1164&quot;&gt;Source&lt;/a&gt;&lt;/p&gt;</description>
  </item>
  <item>
    <title>mcp-go: JSON-RPC member-name case/Unicode folding lets calls bypass exact-match proxy allowlists (through v1.5.0, unpatched): Issue reported privately to contact@mark3labs.com; no reply (per public disclosure).</title>
    <link>https://pwn.watch/i/mcp-go-jsonrpc-case-folding-proxy-bypass-go-2026-6911</link>
    <guid isPermaLink="false">https://pwn.watch/i/mcp-go-jsonrpc-case-folding-proxy-bypass-go-2026-6911#2026-08-16-d3173d20</guid>
    <pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate>
    <category>high</category>
    <description>&lt;p&gt;&lt;a href=&quot;https://github.com/mark3labs/mcp-go/issues/1164&quot;&gt;Source&lt;/a&gt;&lt;/p&gt;</description>
  </item>
</channel>
</rss>
