CVE-2026-67430
MediumCVSS 5.3Exploitation Probability (EPSS)
Low risk42th percentile - higher than 42% of all known CVEs
Summary
A vulnerability in MCP Ruby SDK before version 0.23.0 allows process memory exhaustion via unbounded creation of ServerSession objects in StreamableHTTPTransport. Sessions do not expire by default, and repeated initialize requests accumulate objects.
Risk Assessment
An attacker could cause the MCP server to crash due to memory exhaustion, leading to service disruption.
Recommendation
Upgrade MCP Ruby SDK to version 0.23.0 or later.
Other vulnerabilities in MCP Ruby SDK
See all- CVE-2026-67432High
MCP Ruby SDK before version 0.23.0 in StreamableHTTPTransport reads the entire JSON-RPC POST body without size limits, allowing an unauthenticated remote attacker to exhaust process memory.
- CVE-2026-67431High
MCP Ruby SDK before version 0.23.0 does not bind a session ID to its owner, allowing an attacker with a stolen session ID to send tools/call requests in the victim's session.
- CVE-2026-63119Medium
A vulnerability in MCP Ruby SDK before version 0.23.0 allows process memory exhaustion by sending data without a newline in StdioTransport and Stdio client. The IO#gets function is used without a byte limit.
- CVE-2026-63118Medium
A vulnerability in MCP Ruby SDK before version 0.23.0 allows DNS rebinding attacks due to missing validation of Host and Origin headers in StreamableHTTPTransport. A malicious web page can access a local MCP server and invoke tools.
- CVE-2026-33946Medium
MCP Ruby SDK is the official Ruby SDK for Model Context Protocol servers and clients. Prior to version 0.9.2, the streamable_http_transport.rb implementation contains a session hijacking vulnerability — an attacker who obtains a valid session ID can completely hijack the victim's Server-Sent Events (SSE) stream and intercept all real-time data. Version 0.9.2 contains a patch.
Original NVD description (English source)
MCP Ruby SDK is the official Ruby SDK for Model Context Protocol servers and clients. Prior to 0.23.0, MCP::Server::Transports::StreamableHTTPTransport in the mcp gem does not expire sessions by default, so repeated initialize requests retain unbounded ServerSession objects and can exhaust process memory. This issue is fixed in version 0.23.0.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

