Description
Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.11, Better Auth's OAuth callback auto-link gate in handleOAuthUserInfo accepts implicit account linking when the OAuth provider asserts email_verified: true without requiring the local user row's emailVerified field to also be true, allowing an attacker who pre-registers a victim email through /sign-up/email to bind the victim's OAuth identity to the attacker's account. The same primitive affects one-tap, and emailAndPassword.requireEmailVerification: true does not mitigate the link-time verification change. This issue is fixed in version 1.6.11.
Published: 2026-07-15
Score: 8.3 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Better Auth’s OAuth callback auto‑link mechanism in handleOAuthUserInfo implicitly links accounts when the OAuth provider reports email_verified: true, but it does not confirm that the local user record’s emailVerified flag is also true. As a result, an attacker who first pre‑registers a victim’s email address through the /sign‑up/email endpoint can later bind that victim’s OAuth identity to the attacker’s own account. The same weakness also applies to one‑tap flows, and the emailAndPassword.requireEmailVerification setting does not protect against this link‑time verification flaw. The flaw is corrected in version 1.6.11. Because it permits unauthorized account binding, the vulnerability allows an attacker to take over a target account, a serious issue categorized as CWE‑287 and CWE‑345.

Affected Systems

The affected product is Better Auth, a TypeScript authentication and authorization library. The flaw exists in all versions released before v1.6.11, affecting the OAuth callback logic, one‑tap flows, and email‑and‑password flows that rely on email verification. Users deploying pre‑1.6.11 versions of Better Auth are subject to the risk.

Risk and Exploitability

The CVSS score of 8.3 indicates high severity, while the EPSS score < 1% shows a very low likelihood of present exploitation in the wild. There is no listing in the CISA KEV catalog, so it is not a currently known exploited vulnerability. The likely attack vector involves an attacker first registering a pre‑verified email that matches the victim, then directing the victim’s OAuth authentication through the vulnerable application, which will auto‑link the victim’s OAuth credential to the attacker’s account. The attack requires no privileged state or elevated permissions beyond normal application usage.

Generated by OpenCVE AI on July 31, 2026 at 03:13 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade better-auth to version 1.6.11 or later to apply the fix.
  • As a temporary measure, disable OAuth auto‑linking for unverified email addresses or enforce emailVerified checks manually in your integration code.
  • Review and audit existing linked accounts for unauthorized associations, and monitor sign‑ups to detect duplicate email registrations.

Generated by OpenCVE AI on July 31, 2026 at 03:13 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-g38m-r43w-p2q7 Better Auth has an account takeover issue via OAuth auto-link to unverified pre-registered email
History

Wed, 15 Jul 2026 22:30:00 +0000

Type Values Removed Values Added
First Time appeared Better-auth
Better-auth better Auth
Vendors & Products Better-auth
Better-auth better Auth

Wed, 15 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 15 Jul 2026 17:30:00 +0000

Type Values Removed Values Added
Description Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.11, Better Auth's OAuth callback auto-link gate in handleOAuthUserInfo accepts implicit account linking when the OAuth provider asserts email_verified: true without requiring the local user row's emailVerified field to also be true, allowing an attacker who pre-registers a victim email through /sign-up/email to bind the victim's OAuth identity to the attacker's account. The same primitive affects one-tap, and emailAndPassword.requireEmailVerification: true does not mitigate the link-time verification change. This issue is fixed in version 1.6.11.
Title Better Auth: Account takeover via OAuth auto-link to unverified pre-registered email
Weaknesses CWE-287
CWE-345
References
Metrics cvssV3_1

{'score': 8.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L'}


Subscriptions

Better-auth Better Auth
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-15T17:52:35.572Z

Reserved: 2026-06-09T17:30:33.456Z

Link: CVE-2026-53516

cve-icon Vulnrichment

Updated: 2026-07-15T17:52:31.423Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T03:15:04Z

Weaknesses
  • CWE-287

    Improper Authentication

  • CWE-345

    Insufficient Verification of Data Authenticity