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.
Affected products
better-auth: better auth
References4
- github.com/better-auth/better-auth/security/advisories/GHSA-g38… MitigationVendor Advisory
- github.com/better-auth/better-auth/commit/da7e50beee849c59a2ed1… Patch
- github.com/better-auth/better-auth/pull/9578 Issue TrackingPatch
- github.com/better-auth/better-auth/releases/tag/v1.6.11 Release Notes
Metrics
- CVSS 3.1
-
8.3
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L - EPSS — exploit probability
- 0% percentile: 22 · as of 15 November 2026
- CWE
- CWE-287CWE-345
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.