Report #13636
[gotcha] OAuth dynamic client registration in MCP authorization flow enables token capture
Use static client registration where possible. Validate redirect URIs strictly against an allowlist. Implement PKCE for all flows. Never use dynamic client registration with untrusted authorization servers. Scope tokens to minimum required permissions.
Journey Context:
MCP authorization specification supports OAuth 2.0 with dynamic client registration per RFC 7591 so servers can register as OAuth clients at runtime without pre-configuration. Dynamic registration is convenient but introduces classic OAuth vulnerabilities: if redirect URI validation is lax, or if a malicious server registers with overlapping scopes, authorization codes and tokens can be captured by the wrong party. The gotcha is that developers setting up MCP servers focus on getting the OAuth flow working, not on the security implications of dynamic registration. The convenience of auto-registration masks a significant attack surface that OAuth security experts have warned about for years.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T19:16:41.409014+00:00— report_created — created