Description
Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.11, and in 1.6.14 and later when invitation IDs can be obtained outside the invited mailbox and requireEmailVerificationOnInvitation: true is not enabled, the organization plugin's acceptInvitation, rejectInvitation, getInvitation, and listUserInvitations recipient endpoints use session.user.email and an invitation ID without sufficient verified-email ownership proof, allowing a user with an unverified session for the invited email address to accept an organization invitation after obtaining the invitation ID. This issue is fixed for the original default behavior in version 1.6.11, while 1.6.14 restored compatibility for built-in opaque invitation IDs and leaves affected configurations requiring secure options.
Affected products
better-auth: better auth
References4
- github.com/better-auth/better-auth/security/advisories/GHSA-fmh… MitigationVendor Advisory
- github.com/better-auth/better-auth/commit/23094a628f007f801be6d… Patch
- github.com/better-auth/better-auth/pull/9577 Issue TrackingPatch
- github.com/better-auth/better-auth/releases/tag/v1.6.11 Release Notes
Metrics
- CVSS 3.1
-
7.7
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N - EPSS — exploit probability
- 0% percentile: 10 · as of 15 November 2026
- CWE
- CWE-287CWE-345CWE-441CWE-862
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.