CVE-2026-114607
CVE-2026-114607 · better-auth: OAuth state can be used as a Magic Link to sign in as another user
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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.
CVSS 9.1 · Critical · EPSS 0.3%
- Published
- Updated
Affected products and versions
better-auth
- Versions
- >= 1.4.0-beta.18, < 1.7.7: Affected
No fix published
Original sources
- https://github.com/better-auth/better-auth/security/advisories/GHSA-965c-763c-88jm
- https://github.com/better-auth/better-auth/pull/11494
- https://github.com/better-auth/better-auth/commit/ac54bfd67821a7607533af2059858b12bc54e26a
- https://github.com/better-auth/better-auth/releases/tag/v1.7.7
- https://nvd.nist.gov/vuln/detail/CVE-2026-114607