Skip to main content

better-auth CVE-2026-67327

| EUVDEUVD-2026-51841 HIGH
Improper Authentication (CWE-287)
2026-08-01 VulnCheck GHSA-9wm3-rh5c-fc37
8.7
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:L/SC:N/SI:N/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.3 HIGH

Network-reachable with no attacker privileges; victim's passwordless login triggers the flaw (UI:R); full account takeover yields C:H/I:H; A:L for minor session disruption to the victim.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
P
Scope
X

Lifecycle Timeline

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

Blast Radius

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

Ecosystem-wide dependent count for version 1.1.3.

DescriptionCVE.org

better-auth versions >= 1.1.3 and < 1.6.22 (and pre-release versions >= 1.7.0-beta.0 and < 1.7.0-beta.10) are vulnerable to account takeover via pre-account hijacking on magic-link and email-OTP sign-in when open email/password registration is enabled. An attacker registers an account with the victim's email address and an attacker-chosen password; the account remains unverified. When the legitimate owner later signs in via the magic-link or email-OTP passwordless flow, the account is marked verified without removing the pre-existing password or revoking existing sessions, so the attacker's password remains valid, granting persistent access to the victim's account. Fixed in 1.6.22 and 1.7.0-beta.10.

AnalysisAI

Pre-account hijacking in better-auth (npm) allows a remote attacker to gain persistent, password-based access to any victim account on applications that combine open email/password registration with the magic-link or email-OTP passwordless plugins. The attacker plants a password on the victim's email address before the legitimate owner ever signs in; when the owner later authenticates via the passwordless flow, the library verifies the account without clearing the pre-existing password or revoking pre-existing sessions, leaving the attacker's credentials valid. No public exploit identified at time of analysis, but the attack is mechanically trivial and requires only the ability to register an account - no special tooling, credentials, or network position needed.

Technical ContextAI

better-auth is a Node.js authentication framework distributed via npm (CPE: cpe:2.3:a:better-auth:better-auth). It provides modular plugins for various authentication flows, including magic-link and email-OTP passwordless sign-in alongside traditional email/password registration. The root cause is CWE-287 (Improper Authentication): when either passwordless plugin resolves an incoming verification event, it locates the existing account record for the target email and transitions its state to verified, issuing a new session. Before the fix, this state transition did not treat proof of email ownership as authoritative over previously stored credentials - it neither removed the password hash set during unverified pre-registration nor revoked sessions that had been created prior to any email verification. The library effectively conflated 'account exists for this email' with 'the current actor owns this account,' a pre-account-hijacking class flaw analogous to the OAuth pre-hijacking pattern documented in GHSA-g38m-r43w-p2q7. The fix (PR #10239, commit c06a56d) corrects this by treating the passwordless verification event as the canonical proof of ownership: it removes any previously set password and revokes all pre-existing sessions before issuing the new verified session.

RemediationAI

Upgrade to better-auth 1.6.22 or later on the stable npm release line, or to 1.7.0-beta.10 or later on the pre-release line; both versions are confirmed fixed by the vendor advisory GHSA-qq9h-g4jm-xgf3, with the fix implemented in PR #10239 (commit c06a56d83a40bbaeac12d3a8b8b67e59f92a9110). If an immediate upgrade is not possible, two partial mitigations can reduce but not eliminate risk: first, configure the application to require email verification before accepting a password on any account, which adds a barrier that slows the attack setup; second, implement aggressive purging of unverified accounts to shrink the window during which a pre-planted account can sit waiting. Both workarounds reduce the attack surface but do not close the vulnerability, as the vendor advisory explicitly states. Neither mitigation addresses the core flaw - that verification does not revoke prior credentials - so upgrading remains the only complete remediation.

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-2026-67336 CRITICAL
9.4 Aug 01

Authentication bypass in Better Auth before 1.6.11 stems from insecure cryptographic defaults in the legacy oidcProvider

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-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-67327 vulnerability details – vuln.today

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