Better Auth OAuth Provider: Refresh Token Rotation Race Condition Allows Concurrent Replay and Token Family Forking (better-auth better-auth)

CVE-2026-53517
HIGH 8.1

At a glance

Source
NVD
EPSS
EPSS 0.42 % · percentile 37 ()
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Analyzed

Description

Better Auth is an authentication and authorization library for TypeScript. From 1.4.8-beta.7 until 1.6.11, the @better-auth/oauth-provider POST /oauth2/token endpoint on the refresh_token grant performs a non-atomic read, validate, revoke, and mint sequence on the oauthRefreshToken row, allowing concurrent requests with the same parent refresh token to pass the revoked check and create forked refresh-token families; the vulnerable range also includes embedded better-auth plugin versions before 1.6.0. This issue is fixed in version 1.6.11.

Weaknesses (CWE)

  • CWE-362 — Concurrent Execution using Shared Resource with Improper Synchronization
  • CWE-367 — Time-of-check Time-of-use (TOCTOU) Race Condition

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 8.1CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:NGitHub_M
CVSS 3.1HIGH 8.1CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:NNVD · security-advisories@github.com (Secondary)

Advisories

European references

Affected configurations (NVD CPE)

Affected products

ProductVersions
better-auth · better-authaffected >= 1.4.8-beta.7, < 1.6.0
@better-auth · oauth-provideraffected >= 1.6.0, < 1.6.11

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD