Security release on Tuesday, November 3, 2026.

MediumPOST-better-auth-security-release-2026-11-0330 Oct · today
Source

Does it affect you?

0/1Low confidenceTicks stay in this browser
Conditions read by Claude. The sources remain the reference.better-auth.com

Timeline

30 Oct
Seen before the date the source gives it
  1. Published by better-auth.com30 Oct, 00:00 UTC
  2. Seen by Patchwire29 Oct, 17:04 UTC

Versions in the source

Related alerts(4)

Same packages
Low
Exploitable only if · read by Claude, the source remains the reference
  • Uses @better-auth/drizzle-adapter (standalone or bundled with better-auth) from 1.6.17 to before 1.7.7 (including 1.7.0 beta.6 through rc.6), or @better-auth/kysely-adapter stable 1.6.x from 1.6.17 onward.
  • Rate limiting is enabled.
  • Rate-limit records are stored in the database (not in memory or secondary storage).
  • The database is PostgreSQL, accessed through one of the affected adapter versions.
Affected
@better-auth/drizzle-adapter >=1.6.17 <1.7.7 · @better-auth/kysely-adapter >=1.6.17 <1.7.0 · better-auth >=1.6.17 <1.7.7
Fixed in
1.7.7 · 1.7.0
ID
GHSA-44jh-23m7-hpcf
Open the alert
High
Exploitable only if · read by Claude, the source remains the reference
  • better-auth version is from 1.5.0-beta.12 up to but not including 1.7.7.
  • The OAuth Proxy plugin is enabled.
  • On a participating environment, the OAuth Proxy plugin has no dedicated secret, or its secret equals that environment's global Better Auth secret.
  • Sign-in state is stored in a cookie (account.storeStateStrategy: "cookie").
  • Implicit account linking is enabled (the default; disableImplicitLinking not set to true).
Affected
better-auth >=1.5.0-beta.12 <1.7.7
Fixed in
1.7.7
ID
GHSA-r4xp-prcw-77qf
Open the alert
Critical
Conditions under review

Source summary

You may be affected if you use better-auth from 1.4.0-beta.18 through versions before 1.7.7 with the Magic Link plugin and social or Generic OAuth sign-in. You are affected if all of these are true: - Magic Link is enabled with default storeToken: "plain" , or with storeToken: "hashed" and global verification.storeIdentifier: "hashed" (including a hashed default). - At least one built-in social provider or Generic OAuth provider is enabled. - OAuth state uses account.storeStateStrategy: "database" , the default when a database or secondary storage is configured. Cookie-backed state blocks…

Affected
better-auth >=1.4.0-beta.18 <1.7.7
Fixed in
1.7.7
ID
GHSA-965c-763c-88jm
Open the alert
High
Exploitable only if · read by Claude, the source remains the reference
  • better-auth version from 1.3.8-beta.3 up to but not including 1.7.0-rc.3 (includes all 1.6 releases).
  • The deviceAuthorization() plugin is enabled.
  • An attacker can start a device request: validateClient is not configured, or the attacker can use a valid public client.
  • The approval page does not show, from server-checked data, the requesting client and the exact requested permissions before approval.
  • Users may approve a code or verification link they did not start and cannot compare it with a device they have.
  • The application accepts the session token returned by the device flow (e.g., via the bearer plugin).
Affected
better-auth >=1.3.8-beta.3 <1.7.0-rc.3
Fixed in
1.7.0-rc.3
ID
GHSA-q84f-53jg-9ppm
Open the alert