CVE-2026-53517 Better Auth OAuth Provider: Refresh Token Rotation Race Condition Allows Concurrent Replay and Token Family Forking
Concurrent requests can fork refresh token families, allowing attackers to bypass token revocation and maintain unauthorized access.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-53517?
CVE-2026-53517 is a high-severity vulnerability in @better-auth better-auth, published on 15 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official 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.
Which versions are affected by CVE-2026-53517?
4 open source packages ship an affected version, including @better-auth/oauth-provider and better-auth. It affects 2 products.
| Package | Affected | Fixed in |
|---|---|---|
@better-auth/oauth-provider npm | From 1.6.0 | 1.6.11 |
@better-auth/oauth-provider npm | From 1.6.0 | 1.6.11 |
better-auth npm | From 1.4.8-beta.7 | 1.6.0 |
better-auth npm | From 1.4.8-beta.7 | 1.6.0 |
Products include Better-Auth Better-Auth\/Oauth-Provider, Better-Auth Better Auth.
How do I fix CVE-2026-53517?
Upgrade @better-auth/oauth-provider to 1.6.11 or later.
Is CVE-2026-53517 being exploited?
There is no known exploitation of CVE-2026-53517 in the wild and no public exploit code.
Other vulnerabilities in @better-auth better-auth
Sources
Also known as GHSA-392p-2q2v-4372.