Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
better-auth better-auth
Default version status: unaffected
1.1.3 to < 1.6.22affected1.6.22unaffected
pkg:npm/better-authbetter-auth better-auth
Default version status: unaffected
1.7.0-beta.0 to < 1.7.0-beta.10affected1.7.0-beta.10unaffected
pkg:npm/better-auth