CVE-2026-67430
MediumCVSS 5.3Exploitation Probability (EPSS)
Low risk21th percentile - higher than 21% 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.
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.

