What happened
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.
Why it matters
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.
Attack vector
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).
Affected systems
mcp (MCP Ruby SDK) prior to 0.23.0
Mitigation
Upgrade to mcp gem 0.23.0 or later.