Not a U.S. government website. NDD is an independent vulnerability database by Volerion and is not affiliated with or endorsed by NIST or NVD.
VOLERION
Volerion Security Research

NOT DEFERRED DATABASE

VULNERABILITIES

CVE-2026-114607 Details

ANALYZED


This CVE record has been analyzed and enriched by NVDAPI.com as an independent party.

Description

Better Auth is an authentication and authorization library for TypeScript. From 1.4.0-beta.18 until 1.7.7, deployments that enable Magic Link with storeToken set to plain, or with storeToken set to hashed and the global verification.storeIdentifier setting also set to hashed, enable a built-in social or Generic OAuth provider, and use account.storeStateStrategy set to database can accept an OAuth sign-in state value as a Magic Link token. These settings can cause Magic Link verification records and OAuth state to resolve to the same stored identifier, allowing an unauthenticated attacker to start OAuth sign-in for a known email address and redeem the returned state through Magic Link without controlling the mailbox or completing the provider callback. The attacker can obtain a normal session for an existing user, or create an account incorrectly marked as email verified when sign-up is enabled. This issue is fixed in version 1.7.7.

Metrics

References to Advisories, Solutions, and Tools

By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.

Weakness Enumeration

CWE-IDCWE NameSource
CWE-287Improper Authentication[email protected]

Affected Products

ProductVersions
Better Auth
>= 1.4.0-beta.18, < 1.7.7 (semver)

CPE

  • cpe:2.3:a:better-auth:better_auth:*:*:*:*:*:node.js:*:*

Remediation

  • Upgrade: 1.7.7moderate effort
  • Mitigation:low effort

    Set `account.storeStateStrategy` to "cookie". If you also use OAuth Proxy, first configure one dedicated OAuth Proxy `secret` across all participating environments that differs from each environment's global Better Auth secret. Cookie-backed state can expose a separate OAuth Proxy account-takeover path when the proxy shares the global secret and implicit account linking is enabled.

  • Mitigation:low effort

    Set the Magic Link plugin option `storeToken` to "hashed" **and** leave global `verification.storeIdentifier` unset or set it to "plain". Global identifier hashing does not prevent this issue when Magic Link tokens are also hashed.

  • Mitigation:low effort

    Turn off Magic Link sign-in, or turn off social and Generic OAuth sign-in. Setting `disableSignUp: true` on the Magic Link plugin is not enough. It only stops the creation of new verified accounts. It does not stop the takeover of existing accounts.

Change History

2 change records found show changes


QUICK INFO

CVE Dictionary Entry:
CVE-2026-114607
NVD Published Date:
Oct 22, 2026
NVD Last Modified:
Oct 23, 2026
Source:
[email protected]
CVE-2026-114607 Details - Not Deferred