p PatchFirst

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

Check your server →