Description
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.
Published: 2026-07-29
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The MCP Ruby SDK’s StreamableHTTPTransport fails to expire sessions, letting repeated initialize requests accumulate ServerSession objects without limit. The result is a memory leak that can deplete process memory, potentially causing crashes or denial of service. The weakness is a classic memory management flaw mapped to CWE‑401 and an allocation size flaw, CWE‑770.

Affected Systems

Vendors: ModelContextProtocol’s Ruby SDK. Product: MCP Ruby SDK. Versions before 0.23.0 are impacted. The issue is fixed in release v0.23.0.

Risk and Exploitability

The CVSS score of 5.3 indicates moderate impact. The EPSS value of <1% means the probability of exploitation is currently very low, and the vulnerability is not recorded in CISA’s KEV catalog. Attackers could trigger the problem by issuing a flood of initialize calls over the HTTP interface, which suggests a remote HTTP-based vector, though the description does not explicitly certify the attack surface.

Generated by OpenCVE AI on August 3, 2026 at 12:55 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the MCP Ruby SDK to version 0.23.0 or later where the session expiration bug is fixed.
  • If an upgrade is not immediately possible, configure the StreamableHTTPTransport component to enforce session lifetimes or enable any available automatic expiration logic.
  • Apply rate‑limiting or firewall rules to restrict the number of initialize requests per client or per time window, reducing the risk of memory exhaustion by limiting the attacker’s ability to flood the service.

Generated by OpenCVE AI on August 3, 2026 at 12:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-52jp-gj8w-j6xh MCP Ruby SDK: Unbounded session retention in StreamableHTTPTransport allows memory exhaustion via initialize flood
History

Thu, 30 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 29 Jul 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Modelcontextprotocol
Modelcontextprotocol ruby-sdk
Vendors & Products Modelcontextprotocol
Modelcontextprotocol ruby-sdk

Wed, 29 Jul 2026 19:30:00 +0000

Type Values Removed Values Added
Description 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.
Title MCP Ruby SDK: Unbounded session retention in StreamableHTTPTransport allows memory exhaustion via initialize flood
Weaknesses CWE-401
CWE-770
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}


Subscriptions

Modelcontextprotocol Ruby-sdk
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-30T15:19:09.224Z

Reserved: 2026-07-29T15:07:24.991Z

Link: CVE-2026-67430

cve-icon Vulnrichment

Updated: 2026-07-30T14:16:41.653Z

cve-icon NVD

Status : Deferred

Published: 2026-07-29T20:17:11.960

Modified: 2026-07-30T19:30:33.710

Link: CVE-2026-67430

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T13:00:07Z

Weaknesses
  • CWE-401

    Missing Release of Memory after Effective Lifetime

  • CWE-770

    Allocation of Resources Without Limits or Throttling