CVE-2026-64684
MediumCVSS 6.8Summary
Prior to version 2.1.0, the StreamableHttpClientTransport in the rmcp crate uses reqwest's automatic redirect policy and applies custom headers without marking them as sensitive. When a malicious or compromised MCP endpoint returns a cross-origin 307 or 308 redirect, reqwest follows it and replays custom API keys or authentication tokens to the new origin, where an attacker can capture them.
Risk Assessment
The organization is at risk of leaking sensitive credentials (API keys, tokens) to external, uncontrolled servers, potentially leading to unauthorized access to systems and data.
Recommendation
Update the rmcp crate to version 2.1.0 or later, which includes the fix. If you cannot update, avoid using custom headers with sensitive data in the transport configuration.
Other vulnerabilities in rmcp
See all- CVE-2026-63128High
RMCP prior to 2.0.0, the rmcp crate's stateful Streamable HTTP server 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.
- CVE-2026-63127High
RMCP prior to 2.0.0, the rmcp crate's OAuth implementation omits the RFC 9728 resource field from ResourceServerMetadata and allows discover_oauth_server_via_resource_metadata to use protected-resource metadata without confirming that the returned resource identifier exactly matches the configured MCP server. A malicious MCP server can publish metadata for a different legitimate MCP resource and its authorization server, causing a victim who connects and completes the authorization flow to obtain a legitimate access token that the client subsequently sends to the malicious server.
Original NVD description (English source)
RMCP is an official Rust SDK for the Model Context Protocol. Prior to 2.1.0, the rmcp crate's StreamableHttpClientTransport in crates/rmcp/src/transport/common/reqwest/streamable_http_client.rs builds its default_http_client with reqwest's automatic redirect policy and applies caller-supplied values from StreamableHttpClientTransportConfig.custom_headers without marking them as sensitive. When a malicious or compromised MCP endpoint returns a cross-origin 307 or 308 redirect, reqwest follows the redirect and apply_custom_headers causes custom API keys or authentication tokens to be replayed to the new origin, where an attacker can capture and reuse them. The separate auth_header path is not affected because it uses the standard Authorization header, which reqwest strips on cross-origin redirects. This issue is fixed in version 2.1.0.

