{"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","slug":"CVE-2026-110861","body":"## Overview\n\nBetter 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":20,"depthScoreParts":{"impact":20.4,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}