Description
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 attackers can send bursts of concurrent requests that pass the check together, exceeding configured limits on password sign-in, two-factor verification, one-time code, password reset, and other rate-limited endpoints.
Published: 2026-10-14
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Rate Limit Bypass via Race Condition
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is a race condition in database‑backed rate limiting: the check for a quota limit is not performed atomically with the counter increment. As a result, remote attackers can issue many concurrent requests that all pass the limit check before the counter is updated, allowing repeated access to authentication endpoints that should be throttled. This can facilitate brute‑force password attempts, enable continuous two‑factor verification requests, and generally undermine the protective intent of rate limits on sign‑in, reset, and one‑time code routes.

Affected Systems

The affected products are the package better‑auth and its adapters drizzle‑adapter and kysely‑adapter, originating from the better‑auth ecosystem. Vulnerable versions are 1.6.17 through 1.7.6 for drizzle‑adapter and 1.6.17 through 1.6.9 for kysely‑adapter. The issue is present on the PostgreSQL back‑end used by these adapters.

Risk and Exploitability

The CVSS score of 6.3 classifies this as medium severity; the EPSS score is not available, and the vulnerability is not listed in CISA KEV. Attackers can trigger the race condition by sending bursts of concurrent HTTP requests to any exposed rate‑limited authentication endpoint, which is a typical network‑based attack vector. Successful exploitation allows attackers to bypass configured limits, increasing their chances of guessing credentials or generating excessive one‑time codes, and may also lead to denial of service by overloading authentication resources.

Generated by OpenCVE AI on October 15, 2026 at 12:23 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade better‑auth to the latest release (1.7.7 for drizzle‑adapter or higher and 1.7.0 for kysely‑adapter) which applies an atomic counter update to fix the race condition.
  • Implement additional application‑level throttling or use a reverse proxy to enforce stricter per‑IP or per‑user limits until the patch is deployed.
  • Monitor authentication logs for spikes in login or reset attempts and block suspicious IP addresses to reduce the impact of any remaining race window.

Generated by OpenCVE AI on October 15, 2026 at 12:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 20 Oct 2026 03:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 19 Oct 2026 13:30:00 +0000

Type Values Removed Values Added
First Time appeared Better-auth drizzle-adapter
Better-auth kysely-adapter
Vendors & Products Better-auth drizzle-adapter
Better-auth kysely-adapter

Wed, 14 Oct 2026 23:00:00 +0000

Type Values Removed Values Added
Description 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 attackers can send bursts of concurrent requests that pass the check together, exceeding configured limits on password sign-in, two-factor verification, one-time code, password reset, and other rate-limited endpoints.
Title Better Auth drizzle-adapter 1.6.17 before 1.7.7 Rate Limit Bypass via Race Condition
First Time appeared Better-auth
Better-auth better Auth
Weaknesses CWE-307
CPEs cpe:2.3:a:better-auth:better_auth:*:*:*:*:*:*:*:*
Vendors & Products Better-auth
Better-auth better Auth
References
Metrics cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N'}

cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Better-auth Better Auth Drizzle-adapter Kysely-adapter
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-20T02:26:30.363Z

Reserved: 2026-10-14T22:18:33.239Z

Link: CVE-2026-110861

cve-icon Vulnrichment

Updated: 2026-10-20T02:26:26.497Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-14T23:17:27.490

Modified: 2026-10-20T03:17:14.297

Link: CVE-2026-110861

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-19T13:07:21Z

Weaknesses
  • CWE-307

    Improper Restriction of Excessive Authentication Attempts