Unknown · Better Auth · CVE-2026-67336
**Name of the Vulnerable Software and Affected Versions**
better-auth versions prior to 1.6.11
**Description**
The `oidcProvider` and `mcp` plugins contain insecure cryptographic defaults. The discovery document advertises the `none` algorithm in `id token signing alg values supported` (and `resource signing alg values supported` for the `mcp` plugin), which may allow relying parties that perform algorithm negotiation without pinning to a specific signing algorithm to accept unsigned tokens. Additionally, the plugins enable PKCE `plain` by default. The authorize handler accepts `code challenge method=plain` or silently downgrades missing `code challenge method` parameters to `plain`, which fails to protect authorization codes if the URL is exposed to unauthorized parties. This behavior contradicts the advertised `S256` method and violates OAuth 2.1 standards.
**Recommendations**
Upgrade to better-auth version 1.6.11 or later.
Migrate from the deprecated `oidcProvider` and `mcp` plugins to `@better-auth/oauth-provider`.
As a temporary workaround, set `oidcProvider({ allowPlainCodeChallengeMethod: false })` or the equivalent for the `mcp` plugin to disable plain PKCE.
As a temporary workaround, override the metadata to remove `none` from `id token signing alg values supported` by passing `metadata: { id token signing alg values supported: ["RS256"] }` for `oidcProvider` or setting the same on `options.oidcConfig.metadata` for `mcp`.