DNS rebinding vulnerability in rmcp Streamable HTTP server transport
Prior to version 1.4.0, the `rmcp` crate's Streamable HTTP server transport did not validate the incoming `Host` header. This allowed a malicious public website, via a DNS rebinding attack, to send requests to an MCP server running on the victim's loopback or private-network interface. An attacker who convinced a victim to visit a malicious page could enumerate and invoke tools exposed by a locally running rmcp-based MCP server, read resources and prompts, and trigger side effects limited by the tools exposed by that server. Non-HTTP transports such as stdio and child-process transports are not affected. ## Patches The issue was fixed in `rmcp` 1.4.0 by adding default loopback-only host allowlist validation for the Streamable HTTP server transport. Incoming HTTP requests now validate the `Host` header and return HTTP 403 when the host is not allowed. Users should upgrade to `rmcp >= 1.4.0`. ## Workarounds If upgrading is not possible, place the MCP server behind a reverse proxy configured to reject requests whose `Host` header is not one of the expected hostnames. Do not bind the MCP server to `0.0.0.0` without such validation.
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2026-42559US | — | Exploit | ||
RMCP is an official Rust SDK for the Model Context Protocol. Prior to version 1.4.0, the rmcp crate's Streamable HTTP server transport (crates/rmcp/src/transport/streamable_http_se… | ||||
references
External citations — patches, advisories, analysis.
- https://crates.io/crates/rmcpPACKAGE
- https://github.com/modelcontextprotocol/rust-sdk/issues/815REPORT
- https://github.com/modelcontextprotocol/rust-sdk/issues/822REPORT
- https://github.com/modelcontextprotocol/rust-sdk/pull/764WEB
- https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#security-warningWEB
- https://rustsec.org/advisories/RUSTSEC-2026-0189.htmlADVISORY
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan