Fetching from the wire…
Public story · 2026-08-07 · high
One of three patched bugs let anyone holding a session ID act as that user, the failure the new spec's design removes.
Why now: The spec revision, HashiCorp's Terraform patch and Codex CLI's opt-in support all landed within the ten days ending August 7.
The Model Context Protocol swapped its stateful session model for stateless request/response on July 28, per the MCP blog's revision notes.
On August 4, HashiCorp shipped three patches for Terraform MCP that show why the change mattered. One flaw hit CVSS 10.0: cross-tenant credential reuse in stateless HTTP mode. Another, CVSS 8.9, cached tool calls under a session ID as the only lookup key. Anyone holding another user's session ID could run tool calls as them, the exact hijack the new per-request identity model removes.
Per Cloudflare's teardown, the required initialize/initialized handshake and the Mcp-Session-Id header are both gone. New Mcp-Method and Mcp-Name headers let gateways and WAFs route MCP traffic without parsing JSON bodies. Deterministic tool and resource ordering plus new ttlMs and cacheScope hints make responses cacheable. Server-initiated elicitation is replaced by Multi Round-Trip Requests, where the server returns an input_required result and the client retries.
Roots, Sampling, Logging, Dynamic Client Registration and the old HTTP+SSE transport are deprecated, with a 12-month minimum removal window. Authorization now requires RFC 8707 resource parameters and RFC 9207 issuer identification.
All four Tier 1 SDKs, TypeScript, Python, Go and C#, supported the spec on day one, July 28. Codex CLI added opt-in support on August 7, days after Anthropic said it's bringing the spec to Claude. HashiCorp's third patch, an 8.6 SSRF bug, shipped in the same Terraform MCP 1.2.0 release.
If you're running Terraform MCP in shared HTTP mode, 1.2.0 isn't optional.
Each link below shares sources, entities, or timing with this story.
Claude uses MCP / Shared entities / Same source domain / Shared topic / Earlier coverage
Linked by a graph relationship (Claude uses MCP); both cover HTTP, JSON, Logging, MCP; reported by the same outlet (blog.modelcontextprotocol.io).
Claude uses MCP / Shared entities / Same source / Shared topic / Earlier coverage
Linked by a graph relationship (Claude uses MCP); both cover Anthropic, Authorization, CLAUDE, Logging; cite the same source (MCP 2026-07-28 revision).
Claude uses MCP / Shared entities / Same source domain / Shared topic / Earlier coverage
Linked by a graph relationship (Claude uses MCP); both cover JSON, Logging, MCP, RFC; reported by the same outlet (blog.modelcontextprotocol.io).
Linked by a graph relationship (Claude uses MCP); both cover JSON, Logging, MCP, Method; reported by the same outlet (blog.modelcontextprotocol.io).
Linked by a graph relationship (Claude uses MCP); both cover Logging, MCP, Method, Name; reported by the same outlet (blog.modelcontextprotocol.io).
Linked by a graph relationship (Claude uses MCP); both cover MCP, SDKs, Session, Tier; reported by the same outlet (blog.modelcontextprotocol.io).
Claude uses MCP / Shared entities / Shared topic / Earlier coverage
Linked by a graph relationship (Claude uses MCP); both cover August, MCP, Python, Session; overlapping topics (client, server, session, spec).
Simon Willison uses Claude / Shared entities / Shared topic / Earlier coverage
Linked by a graph relationship (Simon Willison uses Claude); both cover HTTP, JSON, MCP, Session; overlapping topics (client, header, protocol, request, server).