Skip to main content

Better Auth CVE-2026-67336

| EUVDEUVD-2026-51816 CRITICAL
Use of a Broken or Risky Cryptographic Algorithm (CWE-327)
2026-08-01 VulnCheck GHSA-mw34-3w2r-wp9p
9.4
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
9.4 CRITICAL
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
8.7 HIGH

Network-reachable and unauthenticated (AV:N/PR:N) but success depends on relying-party mis-negotiation or URL exposure (AC:H); impact crosses to relying-party systems (S:C) with high confidentiality/integrity and no availability effect.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

4
Source Code Evidence Fetched
Aug 01, 2026 - 13:04 vuln.today
Analysis Generated
Aug 01, 2026 - 13:04 vuln.today
Patch available
Aug 01, 2026 - 13:01 EUVD
CVE Published
Aug 01, 2026 - 12:22 cve.org
CRITICAL 9.4

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 26 npm packages depend on better-auth (19 direct, 7 indirect)

Ecosystem-wide dependent count for version 1.6.11.

DescriptionCVE.org

better-auth versions before 1.6.11 contain insecure cryptographic defaults in the oidcProvider and mcp plugins that advertise the none algorithm and accept plain PKCE by default. Attackers can exploit algorithm negotiation to accept unsigned tokens or intercept authorization codes when PKCE plain is used instead of the required S256 method.

AnalysisAI

Authentication bypass in Better Auth before 1.6.11 stems from insecure cryptographic defaults in the legacy oidcProvider and mcp plugins, which advertise the 'none' signing algorithm in OIDC discovery and accept plain PKCE by default. Relying parties whose JWT libraries negotiate the algorithm from discovery metadata without pinning can be tricked into accepting unsigned ID tokens, while exposed authorization URLs allow interception of codes because plain PKCE offers no protection. Reported by VulnCheck with a vendor patch available; there is no public exploit identified at time of analysis and it is not listed in CISA KEV.

Technical ContextAI

The affected component is Better Auth, a TypeScript/JavaScript authentication framework, specifically its OpenID Connect provider surface exposed via the oidcProvider() plugin and the mcp() plugin (which delegates to oidcProvider and inherits its defaults). The root cause maps to CWE-327 (use of a broken or risky cryptographic algorithm): the metadata builders unconditionally inject 'none' into id_token_signing_alg_values_supported (and resource_signing_alg_values_supported for mcp on the OAuth protected-resource metadata), signaling to relying parties that unsigned tokens are acceptable. Separately, the authorize handler silently rewrites a missing code_challenge_method to 'plain' before the allowlist check, so plain PKCE is accepted at runtime even though discovery advertises only S256 - a contradiction that violates RFC 9700 §2.1.1 (OAuth 2.1), which forbids plain. The canonical replacement package @better-auth/oauth-provider excludes 'none' from discovery and rejects 'plain' at parse time, and is not affected. Affected CPE: cpe:2.3:a:better-auth:better-auth:*:*:*:*:*:*:*:*.

RemediationAI

Vendor-released patch: better-auth 1.6.11 - upgrade to 1.6.11 or later, which removes 'none' from the advertised algorithm list and stops accepting plain PKCE. Where feasible, migrate off the deprecated oidcProvider and mcp plugins to the canonical @better-auth/oauth-provider package, whose discovery document excludes 'none' and whose authorize schema rejects 'plain' at parse time. If you cannot upgrade immediately, apply the workarounds in the GHSA advisory (https://github.com/better-auth/better-auth/security/advisories/GHSA-9h47-pqcx-hjr4): concretely, ensure relying parties pin a specific signing algorithm (e.g. RS256) rather than negotiating from the discovery document so unsigned 'none' tokens are refused, and enforce S256-only PKCE by rejecting requests with code_challenge_method=plain or a missing method rather than downgrading to plain - the trade-off being that legacy clients that omit or send plain PKCE will break and must be updated. Also treat authorization URLs as sensitive and avoid logging or exposing them beyond the user agent and OP to blunt code interception.

CVE-2024-56734 HIGH POC
7.9 Dec 30

Better Auth is an authentication library for TypeScript. Rated high severity (CVSS 7.9), this vulnerability is remotely

CVE-2026-41427 HIGH POC
7.1 Apr 24

Authorization bypass in the @better-auth/oauth-provider plugin for Better Auth (versions >= 1.4.8-beta.7 and < 1.6.5, pl

CVE-2025-71401 CRITICAL
9.3 Aug 02

Denial of service in Better Auth (npm) before 1.4.2 lets an unauthenticated remote attacker poison the router's base pat

CVE-2025-71399 HIGH
8.8 Aug 02

Path normalization bypass in Better Auth before v1.4.5 allows unauthenticated remote attackers to circumvent `disabledPa

CVE-2026-67327 HIGH
8.7 Aug 01

Pre-account hijacking in better-auth (npm) allows a remote attacker to gain persistent, password-based access to any vic

CVE-2026-67337 HIGH
7.1 Aug 01

Two-factor authentication bypass in better-auth (npm) before version 1.4.9 allows network-accessible attackers holding v

CVE-2026-53515 HIGH
7.1 Jul 15

Privilege escalation in Better Auth SSO plugin (1.2.10 to <1.6.11) allows any authenticated organization member to regis

CVE-2025-71403 HIGH
7.1 Aug 01

Open redirect in the better-auth npm authentication library before version 1.1.21 enables one-click account takeover whe

CVE-2025-27143 MEDIUM
6.9 Feb 24

Better Auth is an authentication and authorization library for TypeScript. Rated medium severity (CVSS 6.9), this vulner

CVE-2026-67335 MEDIUM
6.0 Aug 01

OAuth state validation bypass in better-auth before 1.6.2 enables network-based attackers to forge the OAuth callback st

CVE-2025-71404 MEDIUM
5.1 Aug 01

Reflected XSS in better-auth's /api/auth/error endpoint enables arbitrary JavaScript execution in a victim's browser whe

CVE-2026-67334 MEDIUM
5.1 Aug 01

Stale session persistence in better-auth allows deleted users to maintain authenticated access for up to seven days afte

Share

CVE-2026-67336 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy