Skip to main content

MCP Ruby SDK CVE-2026-63119

| EUVDEUVD-2026-50500 MEDIUM
Uncontrolled Resource Consumption (CWE-400)
2026-07-29 GitHub_M GHSA-7683-3w9x-ch42
6.2
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
6.2 MEDIUM
AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
6.2 MEDIUM

Stdio transport is local IPC; peer write access requires no special privileges; only availability is impacted via unbounded memory growth.

3.1 AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
Patch available
Jul 29, 2026 - 20:02 EUVD
Source Code Evidence Fetched
Jul 29, 2026 - 19:59 vuln.today
Analysis Generated
Jul 29, 2026 - 19:59 vuln.today

DescriptionCVE.org

MCP Ruby SDK is the official Ruby SDK for Model Context Protocol servers and clients. Prior to 0.23.0, MCP::Server::Transports::StdioTransport and MCP::Client::Stdio in the mcp gem use IO#gets without a byte limit, allowing a peer that sends data without a newline to exhaust process memory. This issue is fixed in version 0.23.0.

AnalysisAI

Uncontrolled memory growth in the MCP Ruby SDK (mcp gem) prior to 0.23.0 allows any peer process communicating via stdio to OOM-kill the host Ruby process by sending a continuous byte stream without a newline, exhausting available system memory. Both the server-side MCP::Server::Transports::StdioTransport and client-side MCP::Client::Stdio components are affected, meaning Ruby applications acting as either MCP servers or MCP clients are vulnerable. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Attacker controls stdio peer process
Delivery
Send newline-free byte stream to MCP stdin
Exploit
IO#gets accumulates unbounded String in Ruby heap
Execution
Host process memory exhausted
Persist
MCP process OOM-killed
Impact
MCP service unavailable

Vulnerability AssessmentAI

Exploitation Exploitation requires the attacker to control or compromise a process that holds an open write end of the stdio pipe connected to the vulnerable Ruby MCP server or client - this is inherently local inter-process access, not a network-reachable condition by default. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 6.2 score with vector AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H accurately characterizes this as a local denial-of-service with no confidentiality or integrity impact. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario A malicious or compromised MCP peer process writes a continuous stream of arbitrary bytes to the stdin of a Ruby MCP server running an unpatched mcp gem, deliberately omitting any newline character. Ruby's IO#gets accumulates this input into a single ever-growing String, eventually exhausting the host's available memory and triggering an OOM kill that terminates the MCP service entirely. …
Remediation Upgrade the mcp Ruby gem to version 0.23.0 or later (https://github.com/modelcontextprotocol/ruby-sdk/releases/tag/v0.23.0), which introduces an optional max_line_bytes: keyword on both StdioTransport.new and MCP::Client::Stdio.new, defaulting to 4 MiB. … Detailed patch versions, workarounds, and compensating controls in full report.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

CVE-2026-63119 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy