CVE-2026-64684
ŚrednieCVSS 6.8Streszczenie
Przed wersją 2.1.0, klient StreamableHttpClientTransport w crate'cie rmcp używa polityki automatycznego przekierowania reqwest i stosuje niestandardowe nagłówki bez oznaczenia ich jako wrażliwe. Gdy złośliwy lub skompromitowany punkt końcowy MCP zwraca przekierowanie 307 lub 308 z innego origin, reqwest podąża za nim i odtwarza klucze API lub tokeny uwierzytelniające na nowym origin, gdzie atakujący może je przechwycić.
Ocena ryzyka
Organizacja narażona jest na wyciek wrażliwych danych uwierzytelniających (klucze API, tokeny) do zewnętrznych, niekontrolowanych serwerów, co może prowadzić do nieautoryzowanego dostępu do systemów i danych.
Rekomendacja
Zaktualizuj crate rmcp do wersji 2.1.0 lub nowszej, która zawiera poprawkę. Jeśli nie możesz zaktualizować, unikaj używania niestandardowych nagłówków z wrażliwymi danymi w konfiguracji transportu.
Inne podatności w rmcp
Zobacz wszystkie- CVE-2026-63128Wysokie
RMCP przed wersją 2.0.0 w stateful Streamable HTTP server pozwala nieuwierzytelnionemu klientowi wysłać poprawne JSON-RPC POST, które nie jest żądaniem inicjalizacji, lub żądanie inicjalizacji z niezgodnym nagłówkiem protokołu, powodując wywołanie LocalSessionManager.create_session przed walidacją wiadomości. Błąd walidacji zwraca wynik bez usunięcia LocalSessionHandle z sesji, trwale zatrzymując stan sesji i kanału przez cały czas życia procesu serwera.
- CVE-2026-63127Wysokie
RMCP przed wersją 2.0.0 w implementacji OAuth pomija pole resource z RFC 9728 w ResourceServerMetadata i pozwala discover_oauth_server_via_resource_metadata używać metadanych chronionego zasobu bez potwierdzenia, że zwrócony identyfikator zasobu dokładnie odpowiada skonfigurowanemu serwerowi MCP. Złośliwy serwer MCP może opublikować metadane dla innego legalnego zasobu MCP i jego serwera autoryzacji, powodując, że ofiara uzyskuje legalny token dostępu, który następnie wysyła do złośliwego serwera.
Oryginalny opis (angielski, źródło NVD)
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.

