better-auth: OAuth state can be used as a Magic Link to sign in as another user
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.
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2026-110862US | critical9.1 | — | ||
Better Auth from 1.4.0-beta.18 before 1.7.7 contains an authentication bypass vulnerability that allows unauthenticated attackers to sign in as other users by reusing OAuth state v… | ||||
references
External citations — patches, advisories, analysis.
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114607.jsonADVISORY
- https://github.com/better-auth/better-auth/commit/ac54bfd67821a7607533af2059858b12bc54e26aFIX
- https://github.com/better-auth/better-auth/pull/11494FIX
- https://github.com/better-auth/better-auth/releases/tag/v1.7.7WEB
- https://github.com/better-auth/better-auth/security/advisories/GHSA-965c-763c-88jmADVISORY
- https://nvd.nist.gov/vuln/detail/CVE-2026-114607ADVISORY
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan