PT-2026-67316 · Unknown · Better Auth

·

CVE-2026-67336

·

Published

2026-07-07

·

Updated

2026-08-03

CVSS v4.0

9.4

Critical

VectorAV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
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.

Exploit

Fix

Use of a Broken Cryptographic Algorithm

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-67336
GHSA-9H47-PQCX-HJR4

Affected Products

Better Auth