Skip to content
OpenAdvisories
High · 7.5 CVE-2026-63128 EUVD-2026-80823GHSA-9pj6-vhgr-3mwh

RMCP: Unauthenticated permanent session-table leak in rmcp Streamable HTTP server transport leads to remote denial-of-service

Published Sep 16, 2026 · Updated Sep 16, 2026 · Assigned by GitHub_M

Description

RMCP is an official Rust SDK for the Model Context Protocol. Prior to 2.0.0, the rmcp crate's stateful Streamable HTTP server in crates/rmcp/src/transport/streamable_http_server/tower.rs allows an unauthenticated client to send a well-formed JSON-RPC POST that is not an initialization request, or an initialization request with a mismatched protocol header, causing StreamableHttpService::handle_post to call LocalSessionManager.create_session before validating the message. An early validation failure returns without removing the inserted LocalSessionHandle from LocalSessionManager.sessions, permanently retaining session and channel state for the server process lifetime. Repeated requests can grow the shared session table without bound, degrade legitimate-client latency through lock contention, exhaust memory, and terminate the server. This issue is fixed in version 2.0.0.

Affected products

VendorProductAffectedFixed
modelcontextprotocol rust-sdk < 2.0.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
RHEL 10 goose 1.45.0-1.el10_2 RHSA-2026:80765
RHEL 9 goose 1.45.0-1.el9_8 RHSA-2026:80764
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed openai-codex 0.155.1-1.1 openSUSE-SU-2026:11849-1

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io rmcp < 2.0.0 2.0.0 GHSA-9pj6-vhgr-3mwh

Advisories 4

References