---
id: CVE-2026-110861
title: >-
  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…
summary: >-
  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…
severity: low
cvss: 3.7
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N'
cwe:
  - CWE-307
published: '2026-10-14'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T23:17:27.490'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-110861'
references:
  - url: >-
      https://github.com/better-auth/better-auth/security/advisories/GHSA-44jh-23m7-hpcf
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/better-auth-drizzle-adapter-1.6.17-before-1.7.7-rate-limit-bypass-via-race-condition
    label: disclosure@vulncheck.com
tags:
  - nvd
ingestedAt: '2026-10-15T00:02:07.186Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
