PKCE was implemented in the OAuth implementation in workers-oauth-provider that is part of MCP framework https://github.com/cloudflare/workers-mcp . However, it was found that an attacker could cause the check to be skipped.
Fixed in:
https://github.com/cloudflare/workers-oauth-provider/pull/27 https://github.com/cloudflare/workers-oauth-provider/pull/27
Impact:
PKCE is a defense-in-depth mechanism against certain kinds of attacks and was an optional extension in OAuth 2.0 which became required in the OAuth 2.1 draft. (Note that the MCP specification requires OAuth 2.1.). This bug completely bypasses PKCE protection.
Metrics
Affected Vendors & Products
References
Link | Providers |
---|---|
https://github.com/cloudflare/workers-oauth-provider/pull/27 |
![]() ![]() |
History
Thu, 01 May 2025 16:15:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Metrics |
ssvc
|
Thu, 01 May 2025 01:00:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Description | PKCE was implemented in the OAuth implementation in workers-oauth-provider that is part of MCP framework https://github.com/cloudflare/workers-mcp . However, it was found that an attacker could cause the check to be skipped. Fixed in: https://github.com/cloudflare/workers-oauth-provider/pull/27 https://github.com/cloudflare/workers-oauth-provider/pull/27 Impact: PKCE is a defense-in-depth mechanism against certain kinds of attacks and was an optional extension in OAuth 2.0 which became required in the OAuth 2.1 draft. (Note that the MCP specification requires OAuth 2.1.). This bug completely bypasses PKCE protection. | |
Title | PKCE bypass via downgrade attack | |
Weaknesses | CWE-287 | |
References |
| |
Metrics |
cvssV4_0
|

Status: PUBLISHED
Assigner: cloudflare
Published: 2025-05-01T00:50:27.543Z
Updated: 2025-05-01T15:33:23.092Z
Reserved: 2025-04-30T16:39:00.801Z
Link: CVE-2025-4144

Updated: 2025-05-01T14:51:45.618Z

Status : Awaiting Analysis
Published: 2025-05-01T01:15:54.267
Modified: 2025-05-02T13:53:40.163
Link: CVE-2025-4144

No data.