CVE-2026-114607: better-auth: OAuth state can be used as a Magic Link to sign in as another user

Published Oct 22, 2026
·
Updated

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.

Affected Software

1 affected component
npm/better-auth>=1.4.0-beta.18<1.7.7

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade better-auth to a version that resolves this vulnerability.

    Fixed in 1.7.7

Event History

Oct 22, 2026
CVE Published
via MITRE·04:47 PM
Data Sourced
via MITRE·04:47 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

How can I determine whether a deployment is exposed?

Check whether better-auth is in the affected range from 1.4.0-beta.18 until 1.7.7 and whether all of these conditions apply: Magic Link is enabled; storeToken is plain, or it is hashed with verification.storeIdentifier also hashed; a built-in social or Generic OAuth provider is enabled; and account.storeStateStrategy is database.

2

What does an attacker need to exploit this issue?

The attacker needs a known target email address and must be able to initiate an OAuth sign-in flow. They do not need to control the target mailbox or complete the OAuth provider callback.

3

What is the practical impact of successful exploitation?

An unauthenticated attacker can obtain a normal session for an existing user. If sign-up is enabled, they can instead create an account that is incorrectly marked as email verified.

4

What version contains the fix?

The issue is fixed in better-auth version 1.7.7.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203