@better-auth/expo before 1.7.16 allows certain account-takeover outcomes (e.g., unauthenticated changes of any account's email address), because it signs a caller-supplied state value without checking whether that value had been issued by the server. NOTE: the application secret...
Vendor
better-auth vulnerabilities
34 published CVES affecting better-auth, from public sources (CVE.org, NVD, CISA KEV, FIRST EPSS, OSV).
- Total
- 34
- Critical
- 7
- High
- 18
- Medium
- 6
- Low
- 3
- Unscored
- 0
- CISA KEV
- 0
Products
- better-auth 15
- better auth 10
- @better-auth/scim 6
- @better-auth/sso 5
- oauth-provider 5
- better-authoauth-provider 3
- @better-auth/drizzle-adapter 2
- @better-auth/kysely-adapter 2
- @better-auth/passkey 2
- @better-auth/stripe 2
- better-authsso 2
- @better-auth/expo 1
- better-icons 1
Latest better-auth CVEs
Newest publication first · page 1 of 2
-
CriticalCVSS 9.1 EPSS 0.20%
-
LowCVSS 3.7
Am I affected? You are affected if you use @better-auth/drizzle-adapter from 1.6.17 through versions before 1.7.7 (including the 1.7.0 prereleases from beta.6 through rc.6) or @better-auth/kysely-adapter 1.6.17 through 1.6.31, and keep rate-limit records in a PostgreSQL database....
-
CVE-2026-114607 better-auth: OAuth state can be used as a Magic Link to sign in as another user
PublishedCriticalCVSS 9.1 EPSS 0.42%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, ena...
-
HighCVSS 8.6 EPSS 0.27%
Better Auth @better-auth/sso from 1.7.0-rc.2 before 1.7.3 contains an authentication bypass vulnerability that allows authenticated users to sign in as other users by registering a personal SSO provider. Attackers can copy a legitimate provider's OIDC issuer or SAML entity ID and...
-
CVE-2026-110861 Better Auth drizzle-adapter 1.6.17 before 1.7.7 Rate Limit Bypass via Race Condition
PublishedMediumCVSS 6.3 EPSS 0.22%Better Auth @better-auth/drizzle-adapter and better-auth from 1.6.17 before 1.7.7, and @better-auth/kysely-adapter from 1.6.17 before 1.7.0, contain a race condition in database-backed rate limiting on PostgreSQL where the limit check is not atomic with the counter update. Remote...
-
HighCVSS 8.6 EPSS 0.36%
@better-auth/sso before 1.6.27 (and before 1.4.8 in the 1.4.x line and before 1.7.0-rc.5 in the 1.7 prerelease line) contains two domain-ownership flaws. When domain verification is disabled, automatic organization assignment accepts unverified provider domains, allowing an authe...
-
HighCVSS 7.1 EPSS 0.35%
better-auth passkey versions before 1.4.0 contain an insecure direct object reference vulnerability in the passkey deletion endpoint that allows authenticated users to delete arbitrary passkeys by ID. Attackers with valid sessions can submit crafted requests to the delete-passkey...
-
MediumCVSS 5.3 EPSS 0.26%
@better-auth/oauth-provider before 1.7.0-beta.4 fails to bind access-token audience to the authorization grant, allowing clients to request tokens for unrelated resources. Attackers can complete an OAuth flow and obtain access tokens whose audience targets resource servers the au...
-
MediumCVSS 5.1 EPSS 0.32%
better-auth versions before 1.6.11 fail to delete cached sessions when removing users via admin, anonymous, or SCIM endpoints when secondaryStorage is configured and storeSessionInDatabase is false. Attackers can reuse deleted user session tokens to maintain authentication for up...
-
CVE-2026-67329 @better-auth/stripe before 1.6.21 Authorization Bypass via Organization Subscription
PublishedHighCVSS 7.1 EPSS 0.31%@better-auth/stripe versions >= 1.4.11 and < 1.6.21, and >= 1.7.0-beta.0 and < 1.7.0-beta.10, contain an authorization bypass in organization subscription actions. The middleware validates the organization ID taken from the request query string against the authorizeReference call...
-
HighCVSS 8.7 EPSS 0.39%
better-auth SCIM versions from 1.5.0 before 1.7.0-beta.4 fail to bind non-organization SCIM providers to their creator by default, allowing authenticated users to manage other users' providers. Attackers can regenerate SCIM bearer tokens, invalidate legitimate tokens, and authent...
-
HighCVSS 8.6 EPSS 0.49%
@better-auth/sso versions before 1.6.21 contain multiple authentication bypass vulnerabilities in SSO provider handling that allow attackers to sign in as arbitrary users. Attackers can exploit domain verification parsing mismatches, orphaned provider accounts, unbound SAML asser...
-
CriticalCVSS 9.4 EPSS 0.60%
@better-auth/scim (a better-auth plugin) versions >= 1.4.0-beta.27 through <= 1.6.21 and >= 1.7.0-beta.0 through <= 1.7.0-beta.9 contain an authorization bypass. SCIM token issuance did not reject provider IDs already used by existing SSO, SAML, OIDC, generic OAuth, or social acc...
-
HighCVSS 7.1
Am I affected? You are affected if all of these are true: You use @better-auth/stripe from version 1.4.11 up to a patched version below. This covers the stable line through 1.6.20 and every 1.7.0 beta through 1.7.0-beta.9. The Stripe plugin has subscriptions turned on (subscripti...
-
CriticalCVSS 9.9
Am I affected? You are affected if your application registers the @better-auth/scim plugin and lets authenticated users generate SCIM tokens. The default canGenerateToken policy was affected, and custom policies were affected when they did not reject provider IDs already used by...
-
HighCVSS 8.1 EPSS 0.42%
Better Auth is an authentication and authorization library for TypeScript. From 1.4.8-beta.7 until 1.6.11, the @better-auth/oauth-provider POST /oauth2/token endpoint on the refresh_token grant performs a non-atomic read, validate, revoke, and mint sequence on the oauthRefreshTok...
-
HighCVSS 7.6 EPSS 0.21%
Better Auth is an authentication and authorization library for TypeScript. From 1.6.0 until 1.6.11, the deviceAuthorization plugin treats any authenticated session as the owner of any pending device code because GET /device does not claim the row and POST /device/approve and POST...
-
HighCVSS 7.7 EPSS 0.20%
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 acceptInvit...
-
HighCVSS 7.1 EPSS 0.43%
Better Auth is an authentication and authorization library for TypeScript. From 1.2.10 until 1.6.11, the @better-auth/sso plugin's POST /sso/register endpoint lets any organization member attach a new SSO provider to that organization because registerSSOProvider checks only for a...
-
CriticalCVSS 9.1 EPSS 0.27%
Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.11, the legacy oidcProvider and mcp plugins expose OAuth token endpoints whose refresh_token grant authenticates only possession of the bound refreshToken row and matching client_id, without v...
-
HighCVSS 7.6 EPSS 0.41%
Better Auth is an authentication and authorization library for TypeScript. From 1.6.0 until 1.6.11, the @better-auth/oauth-provider POST /oauth2/token endpoint for the authorization_code grant redeems a single-use authorization code through a non-atomic find-then-delete sequence,...
-
CriticalCVSS 9.6 EPSS 0.25%
Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.11, the @better-auth/sso plugin's POST /sso/register and POST /sso/update-provider endpoints accept attacker-controlled oidcConfig.userInfoEndpoint, tokenEndpoint, and jwksEndpoint URLs when s...
-
CVE-2026-53516 Better Auth: Account takeover via OAuth auto-link to unverified pre-registered email
PublishedHighCVSS 8.3 EPSS 0.29%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 ro...
-
MediumCVSS 4.8 EPSS 0.17%
A vulnerability has been found in better-auth better-icons up to 1.0.5. This vulnerability affects unknown code of the component scan_project_icons/sync_icon. Such manipulation of the argument icons_file leads to path traversal. An attack has to be approached locally. The exploit...
-
HighCVSS 8.3
Am I affected? Users are affected if all of these hold: They install and register the @better-auth/scim plugin (plugins: [scim()]). They create SCIM providers without an organizationId, that is, non-organization ("personal") providers. Organization-scoped providers are not affect...
Sources: CVE.org, NVD, CISA KEV, FIRST EPSS, OSV and public exploit-reference metadata. Product matching comes from the published CVE records. A proof-of-concept means public code exists; it is not evidence of exploitation.