Vulnerability  ·  2026-07-30

MCP Ruby SDK — Session Hijacking, Unbounded Memory Exhaustion, and DNS-Rebinding in Streamable HTTP/Stdio Transports

VulnerabilityMedium impactGlobalCVE-2026-67431
NVD published five related CVEs for the official MCP Ruby SDK on 2026-07-29, covering session-binding, DoS, and browser-based DNS-rebinding issues across the Streamable HTTP and Stdio transports.
The MCP Ruby SDK is the official reference implementation for Ruby MCP servers/clients; session-hijacking and DNS-rebinding flaws in a foundational SDK propagate to every downstream Ruby MCP server built on it, and the DNS-rebinding vector specifically lets a malicious webpage reach local MCP servers running on a developer's machine — a classic local-agent attack surface.
StreamableHTTPTransport does not bind a session ID to its owning session, so an attacker with a stolen/guessed session ID can execute tools/call requests as that session's owner (CVE-2026-67431, CVSS 8.3); companion flaws include unbounded JSON-RPC body parsing enabling memory-exhaustion DoS (CVE-2026-67432), missing Host/Origin validation enabling DNS-rebinding attacks against local MCP servers from a malicious browser page (CVE-2026-63118), unbounded stdio reads (CVE-2026-63119), and sessions that never expire, allowing unbounded ServerSession accumulation (CVE-2026-67430).
mcp (MCP Ruby SDK) prior to 0.23.0
Upgrade to mcp gem 0.23.0 or later.
NVD CVE-2026-67431GitHub fix commit
See this in the live feed Explore related AI security and governance findings — updated every morning.
Open the feed →