VulnSea

better-auth has 33 CVEs on record. Cadence is steady at roughly 18 per quarter. The busiest recent month was July 2026 with 15. The median CVSS is 8.1 (high), with 6 rated critical. None have a confirmed exploitation report. The dominant weakness classes are CWE-287 (10) and CWE-345 (6). Most affected products: better-auth (15), @better-auth/oauth-provider (3), sso (3).

CVEs per month

Last 12 months, by publish date

111201020304050607080910
Exploited share
0% vs 1% corpus
Median CVSS
8.1
Publish → KEV
—
Last 90 days
18 prev 15

Products

  • better-auth 15
  • @better-auth/oauth-provider 3
  • sso 3
  • @better-auth/scim 2
  • @better-auth/sso 2
  • scim 2
33
Total CVEs
6
Critical
0
CISA KEV
0
Exploited

better-auth vulnerabilities

CVEs affecting better-auth, newest first. Open any entry for full detail, references, and exploit status.

33 CVEsRSS

GHSA-q84f-53jg-9ppmHigh· 8.1
yesterday

better-auth: Device login approval does not show the requesting client or permissions

better-auth: Device login approval does not show the requesting client or permissions

▾ Twilightbetter-auth · better-authvia GHSA
GHSA-r4xp-prcw-77qfHigh· 7.4
yesterday

better-auth: OAuth Proxy lets an attacker sign in as another user

better-auth: OAuth Proxy lets an attacker sign in as another user

▾ Twilightbetter-auth · better-authvia GHSA
GHSA-44jh-23m7-hpcfLow· 3.7
yesterday

@better-auth/drizzle-adapter: Concurrent requests can exceed rate limits on PostgreSQL

@better-auth/drizzle-adapter: Concurrent requests can exceed rate limits on PostgreSQL

▾ Sunlitbetter-auth · @better-auth/drizzle-adaptervia GHSA
CVE-2026-114607Critical· 9.1
yesterday

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

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

▾ Midnightbetter-auth · better-authEPSS 0.42%via GHSA
CVE-2026-110864High· 7.4
2w ago

Better Auth from 1.5.0-beta.12 before 1.7.7 contains an authentication bypass vulnerability in the OAuth Proxy plugin that allows unauthenticated attackers to sign in as other users by forging encrypted profiles

Better Auth from 1.5.0-beta.12 before 1.7.7 contains an authentication bypass vulnerability in the OAuth Proxy plugin that allows unauthenticated attackers to sign in as other users by forging encrypted profiles. When the proxy shares th…

▾ Twilightbetter-auth · better-authEPSS 0.29%via NVD
CVE-2026-110863High· 8.1
2w ago

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

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 p…

▾ Twilightbetter-auth · ssoEPSS 0.27%via NVD
CVE-2026-110862Critical· 9.1
2w ago

Better Auth from 1.4.0-beta.18 before 1.7.7 contains an authentication bypass vulnerability that allows unauthenticated attackers to sign in as other users by reusing OAuth state values as Magic Link tokens

Better Auth from 1.4.0-beta.18 before 1.7.7 contains an authentication bypass vulnerability that allows unauthenticated attackers to sign in as other users by reusing OAuth state values as Magic Link tokens. Attackers can start an OAuth …

▾ Midnightbetter-auth · better-authEPSS 0.32%via NVD
CVE-2026-110861Low· 3.7
2w ago

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…

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…

▾ Sunlitbetter-auth · drizzle-adapterEPSS 0.22%via NVD
CVE-2026-109346High· 8.1
2w ago

better-auth from 1.3.8-beta.3 before 1.7.0-rc.3 contains a UI misrepresentation vulnerability in the deviceAuthorization plugin because GET /device omits the requesting client_id and scope

better-auth from 1.3.8-beta.3 before 1.7.0-rc.3 contains a UI misrepresentation vulnerability in the deviceAuthorization plugin because GET /device omits the requesting client_id and scope. Attackers can start a device request via /devic…

▾ Twilightbetter-auth · better-authEPSS 0.28%via NVD
CVE-2026-80192High· 8.1
2mo ago

@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

@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 unv…

▾ Twilightbetter-auth · ssoEPSS 0.36%via NVD
CVE-2025-71400High· 7.1
2mo ago

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

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 su…

▾ Twilightbetter-auth · passkeyEPSS 0.35%via NVD
CVE-2025-71399High· 8.6
2mo ago

Better Auth relies on better-call, which uses the rou3 router library

Better Auth relies on better-call, which uses the rou3 router library. In affected versions of rou3, paths are normalized by removing empty segments, so /path, //path, and ///path resolve to the same route. In Better Auth versions prior …

▾ Twilightbetter-auth · better-authEPSS 0.52%via NVD
CVE-2026-67334Low· 3.8
2mo ago

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

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 sessi…

▾ Sunlitbetter-auth · better-authEPSS 0.32%via NVD
CVE-2026-67332Medium· 6.4
2mo ago

@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

@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 who…

▾ Sunlitbetter-auth · oauth-providerEPSS 0.26%via NVD
CVE-2026-67331High· 8.3PoC
2mo ago

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

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…

▾ Midnightbetter-auth · scimEPSS 0.39%via NVD
CVE-2026-67330Critical· 9.9
2mo ago

@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

@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 SS…

▾ Midnightbetter-auth · scimEPSS 0.60%via NVD
CVE-2026-67329High· 7.1
2mo ago

@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

@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…

▾ Twilightbetter-auth · stripeEPSS 0.31%via NVD
CVE-2026-67328High· 8.1
2mo ago

@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

@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, orp…

▾ Twilightbetter-auth · ssoEPSS 0.49%via NVD
GHSA-rjg6-39jm-rgg4Critical· 9.9
3mo ago

@better-auth/scim: account takeover and stale access via SCIM provider-id collision

@better-auth/scim: account takeover and stale access via SCIM provider-id collision

▾ Midnightbetter-auth · @better-auth/scimvia GHSA
GHSA-h3rm-78g3-j7cpHigh· 7.1
3mo ago

@better-auth/stripe: cross-organization billing tampering in organization subscription actions

@better-auth/stripe: cross-organization billing tampering in organization subscription actions

▾ Twilightbetter-auth · @better-auth/stripevia GHSA
GHSA-qq9h-g4jm-xgf3High· 8.3
3mo ago

Better Auth: Account takeover via pre-account hijacking on magic-link and email-OTP sign-in

Better Auth: Account takeover via pre-account hijacking on magic-link and email-OTP sign-in

▾ Twilightbetter-auth · better-authvia GHSA
CVE-2026-53515High· 7.1
3mo ago

@better-auth/sso: SSO provider may allow registration for any org member without a checking their role

@better-auth/sso: SSO provider may allow registration for any org member without a checking their role

▾ Twilightbetter-auth · @better-auth/ssoEPSS 0.43%via GHSA
GHSA-p2fr-6hmx-4528Medium· 6.4
3mo ago

@better-auth/oauth-provider may provide access tokens for unauthorized audiences via unbound resource indicators

@better-auth/oauth-provider may provide access tokens for unauthorized audiences via unbound resource indicators

▾ Sunlitbetter-auth · @better-auth/oauth-providervia GHSA
CVE-2026-53514High· 7.7
3mo ago

Better Auth vulnerable to unauthorized invitation acceptance via unverified email match in organization plugin

Better Auth vulnerable to unauthorized invitation acceptance via unverified email match in organization plugin

▾ Twilightbetter-auth · better-authEPSS 0.20%via GHSA
CVE-2026-53516High· 8.3
3mo ago

Better Auth has an account takeover issue via OAuth auto-link to unverified pre-registered email

Better Auth has an account takeover issue via OAuth auto-link to unverified pre-registered email

▾ Twilightbetter-auth · better-authEPSS 0.29%via GHSA
GHSA-86j7-9j95-vpqjHigh· 7.7
3mo ago

Better Auth has stored XSS in the auth-server origin via javascript: redirect_uri in oidc-provider and mcp

Better Auth has stored XSS in the auth-server origin via javascript: redirect_uri in oidc-provider and mcp

▾ Twilightbetter-auth · better-authvia GHSA
GHSA-9h47-pqcx-hjr4High· 8.7
3mo ago

Better Auth has insecure cryptographic defaults in oidcProvider: alg=none advertised and plain PKCE accepted by default

Better Auth has insecure cryptographic defaults in oidcProvider: alg=none advertised and plain PKCE accepted by default

▾ Twilightbetter-auth · better-authvia GHSA
CVE-2026-53517High· 8.1
3mo ago

Better Auth: OAuth refresh-token rotation forks the token family on concurrent redemption

Better Auth: OAuth refresh-token rotation forks the token family on concurrent redemption

▾ Twilightbetter-auth · @better-auth/oauth-providerEPSS 0.42%via GHSA
CVE-2026-53513Critical· 9.6
3mo ago

@better-auth/sso provider registration has server-side request forgery via unvalidated OIDC endpoints

@better-auth/sso provider registration has server-side request forgery via unvalidated OIDC endpoints

▾ Midnightbetter-auth · @better-auth/ssoEPSS 0.25%via GHSA
CVE-2026-53518High· 8.1
3mo ago

@better-auth/oauth-provider's OAuth authorization-code grant allows concurrent redemption when two token requests race the find-then-delete primitive

@better-auth/oauth-provider's OAuth authorization-code grant allows concurrent redemption when two token requests race the find-then-delete primitive

▾ Twilightbetter-auth · @better-auth/oauth-providerEPSS 0.41%via GHSA
better-auth vulnerabilities (CVEs) · VulnSea