Description
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.
Published: 2026-08-01
Score: 9.4 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises from insecure cryptographic defaults in the oidcProvider and mcp plugins of better-auth. The provider advertises the "none" algorithm and accepts plain PKCE by default, allowing attackers to negotiate an unsigned token or intercept authorization codes when the weaker S256 method is not enforced. This flaw permits authentication bypass and potential session hijacking by the attacker, as it can accept tampered or fabricated tokens without proper verification. The weakness is classified as CWE‑327, highlighting the use of weakened cryptography.

Affected Systems

v1.6.10 and earlier versions of the better‑auth OAuth provider for Node.js are affected. Any deployment running a pre‑1.6.11 release is vulnerable. The issue is present across all environments that expose the OAuth provider endpoints.

Risk and Exploitability

The severity is high, with a CVSS score of 9.4, and no EPSS data is available, suggesting a low but unquantified exploitation probability. It is not currently listed in the CISA KEV catalog. The likely attack vector involves remote exploitation via the OAuth endpoints, where an attacker can craft requests that force the provider to accept unauthenticated or tampered tokens. Successful exploitation could give an attacker unauthorized access to protected resources or the ability to impersonate users.

Generated by OpenCVE AI on August 2, 2026 at 02:57 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade better‑auth to version 1.6.11 or later to eliminate the default "none" algorithm and enforce PKCE S256 method.
  • Configure the OAuth provider to accept only the approved algorithm list and disable support for the "none" algorithm.
  • Audit existing OAuth configurations to ensure PKCE is mandatory and validate that authorization codes are never processed with the plain method.

Generated by OpenCVE AI on August 2, 2026 at 02:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 03 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sat, 01 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
Description 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.
Title better-auth before 1.6.11 Insecure Cryptographic Defaults via oidcProvider
First Time appeared Better-auth
Better-auth better-auth\/oauth-provider
Weaknesses CWE-327
CPEs cpe:2.3:a:better-auth:better-auth\/oauth-provider:*:*:*:*:*:node.js:*:*
Vendors & Products Better-auth
Better-auth better-auth\/oauth-provider
References
Metrics cvssV3_1

{'score': 8.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N'}

cvssV4_0

{'score': 9.4, 'vector': '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'}


Subscriptions

Better-auth Better-auth\/oauth-provider
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-03T15:23:44.055Z

Reserved: 2026-07-29T13:07:47.016Z

Link: CVE-2026-67336

cve-icon Vulnrichment

Updated: 2026-08-03T15:23:33.996Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-02T03:00:13Z

Weaknesses
  • CWE-327

    Use of a Broken or Risky Cryptographic Algorithm