Skip to content

Epistates/TurboMCP

v3.1.2 Security

This release includes 10 security fixes for security teams reviewing exposed deployments.

Published 1mo MCP Developer Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 10 known CVEs

Topics

mcp mcp-client mcp-sdk mcp-server mcp-servers rust

Affected surfaces

auth rbac deps

Summary

AI summary

RichContextExt::report_progress* now requires f64 values, breaking existing u64 calls.

Full changelog

[3.1.2]

  • MCP 2025-11-25 gaps closed: resources/{subscribe,unsubscribe}, logging/setLevel, completion/complete now route; notifications/cancelled actually cancels in-flight handlers (server) and is auto-emitted on
    timeout (client); Tasks API (SEP-1686) wired into typed routing; ProgressNotification aligned to string|number token + f64 values.
  • Security hardening across frontends: HTTP bearer-token redirect leak, SSE/decompression bombs, WebSocket max_message_size, origin-validation starts_with bypass, X-Forwarded-For spoofing behind proxies,
    telemetry PII/cardinality leaks, Prometheus binding to 0.0.0.0, OAuth token-store silently in-memory on WASM, proxy bearer-token logged at INFO, proxy frontends missing Origin allowlist.
  • Hand-rolled → battle-tested: governor (rate limiting), backon (retry/backoff), serde_norway (YAML), which (cross-platform binary lookup).
  • Bug fix: bidirectional correlation was matching on a fresh local UUID instead of the JSON-RPC id — every server-initiated request was timing out on healthy connections.
  • Deprecated: turbomcp-transport::axum subtree (use turbomcp-server::transport::http), WebSocket enable_compression/tls_config no-op fields.
  • Dep refresh: tokio 1.52, axum 0.8.9, hyper 1.9, tokio-tungstenite 0.29, sha2 0.11, msgpacker 0.7, cryptoki 0.10, getrandom 0.4.

One public-API break to know: RichContextExt::report_progress* now takes f64 instead of u64 — callers pass 50.0 instead of 50.

Full Changelog: https://github.com/Epistates/turbomcp/compare/v3.1.1...v3.1.2

Breaking Changes

  • RichContextExt::report_progress* now takes f64 instead of u64

Security Fixes

  • Fixed HTTP bearer-token redirect leak
  • Mitigated SSE/decompression bombs
  • Limited WebSocket max_message_size
  • Resolved origin-validation starts_with bypass
  • Prevented X-Forwarded-For spoofing behind proxies
  • Stopped telemetry PII and cardinality leaks
  • Bound Prometheus to localhost instead of 0.0.0.0
  • Addressed OAuth token-store silently falling back to in-memory on WASM
  • Removed proxy bearer-token logging at INFO level
  • Added missing Origin allowlist for proxy frontends

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Epistates/TurboMCP

Get notified when new releases ship.

Sign up free

About Epistates/TurboMCP

TurboMCP SDK: Enterprise MCP SDK in Rust

All releases →

Beta — feedback welcome: [email protected]