Vulnerability HighRUSTSEC-2026-0189 · rmcp
RUSTSEC-2026-0189: DNS rebinding vulnerability in rmcp Streamable HTTP server transport
Short answerA security vulnerability in the rmcp crate: DNS rebinding vulnerability in rmcp Streamable HTTP server transport. High severity (CVSS 8.8). Fixed in 1.4.0: update to a fixed version.
| Crate | rmcp |
|---|---|
| Type | Vulnerability |
| Affected versions | Before 1.4.0. |
| Fixed in | 1.4.0 |
| Severity | High, CVSS 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Published | 2026-04-29 |
| Last changed | 2026-10-12 |
| Also known as | CVE-2026-42559, GHSA-89vp-x53w-74fx, GHSA-fvh2-gm75-j4j7, RUSTSEC-2026-0140 |
What to do
- See which version you have:
cargo tree -i rmcp(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p rmcp. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for examplermcp = "1.4.0") or update the dependency that pulls it in. - Check again with
cargo audit, or paste your Cargo.lock into our Cargo.toml checker.
Details from the advisory
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.
References
- Package: crates.io/crates/rmcp
- Advisory: rustsec.org/advisories/RUSTSEC-2026-0189.html
- Report: github.com/modelcontextprotocol/rust-sdk/issues/815
- Web: github.com/modelcontextprotocol/rust-sdk/pull/764
- Report: github.com/modelcontextprotocol/rust-sdk/issues/815
- Report: github.com/modelcontextprotocol/rust-sdk/issues/822
- Web: modelcontextprotocol.io/specification/2025-06-18/basic/transports#security-warning
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Other advisories for rmcp
- VulnerabilityGHSA-33f5-2c5q-wgwj · 2026-09-16RMCP: Missing Resource Field Validation in OAuth Protected Resource Metadata Discovery
- VulnerabilityGHSA-9g45-5xwm-f3wc · 2026-09-17RMCP: Custom HTTP headers leak to cross-origin redirect targets
- VulnerabilityGHSA-9pj6-vhgr-3mwh · 2026-09-16RMCP: Unauthenticated permanent session-table leak in rmcp Streamable HTTP server transport leads to remote denial-of-service
- VulnerabilityGHSA-c9xm-49cp-xcr9 · 2026-10-02rmcp OAuth client fetches server-controlled resource_metadata URLs
Up next
Same cratermcp: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?