fastmcp/docs/servers
Jeremiah Lowin 016b9f90e0
Fix confused deputy attack via consent binding cookie (#3201)
* Add consent binding cookie to prevent confused deputy attacks (GHSA-rww4-4w9c-7733)

The OAuthProxy's consent page verified user intent but didn't bind the
consenting browser to the IdP callback. An attacker could intercept the
upstream authorization URL after consent and send it to a victim, whose
browser would complete the flow without having the consent cookie.

This adds a signed consent binding cookie set during consent approval
(both manual and auto-approve paths) and verified in the IdP callback
handler. A different browser won't have this cookie and gets a 403.

* Use startswith for URL assertion in consent binding test

* Store consent bindings as per-transaction map to support parallel flows

* Only accept __Host- consent binding cookie on HTTPS

* chore: Update SDK documentation

---------

Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
2026-02-17 10:24:07 -05:00
..
auth Fix confused deputy attack via consent binding cookie (#3201) 2026-02-17 10:24:07 -05:00
providers Expose local_provider property, deprecate FastMCP.remove_tool() (#3155) 2026-02-11 19:37:19 -06:00
transforms Add enabled field to ToolTransformConfig (#2991) 2026-01-22 17:44:38 -05:00
authorization.mdx Support async auth checks (#3152) 2026-02-11 12:48:51 -05:00
context.mdx Support non-serializable values in Context.set_state (#3171) 2026-02-12 15:06:42 -06:00
dependency-injection.mdx Add Azure OBO dependencies, auth token injection, and documentation (#2918) 2026-02-09 20:06:57 -05:00
elicitation.mdx Restructure documentation for FastMCP 3.0 (#2951) 2026-01-19 21:33:35 -05:00
icons.mdx Restructure documentation for FastMCP 3.0 (#2951) 2026-01-19 21:33:35 -05:00
lifespan.mdx Restructure documentation for FastMCP 3.0 (#2951) 2026-01-19 21:33:35 -05:00
logging.mdx Restructure documentation for FastMCP 3.0 (#2951) 2026-01-19 21:33:35 -05:00
middleware.mdx Add cache key identity note to middleware docs 2026-02-16 08:52:28 -05:00
pagination.mdx Restructure documentation for FastMCP 3.0 (#2951) 2026-01-19 21:33:35 -05:00
progress.mdx Restructure documentation for FastMCP 3.0 (#2951) 2026-01-19 21:33:35 -05:00
prompts.mdx Fix broken documentation links (#2952) 2026-01-19 23:17:29 -05:00
resources.mdx Fix broken documentation links (#2952) 2026-01-19 23:17:29 -05:00
sampling.mdx Add concurrent tool execution with sequential flag (#3022) 2026-02-09 20:43:53 -05:00
server.mdx Restructure documentation for FastMCP 3.0 (#2951) 2026-01-19 21:33:35 -05:00
storage-backends.mdx Drop diskcache dependency (CVE-2025-69872) (#3185) 2026-02-16 16:43:15 -05:00
tasks.mdx docs: update all references from 3.0.0b2 to 3.0.0rc1 (#3173) 2026-02-12 16:39:16 -06:00
telemetry.mdx Restructure documentation for FastMCP 3.0 (#2951) 2026-01-19 21:33:35 -05:00
tools.mdx Expose local_provider property, deprecate FastMCP.remove_tool() (#3155) 2026-02-11 19:37:19 -06:00
versioning.mdx Expose local_provider property, deprecate FastMCP.remove_tool() (#3155) 2026-02-11 19:37:19 -06:00
visibility.mdx Restructure documentation for FastMCP 3.0 (#2951) 2026-01-19 21:33:35 -05:00