CVE-2026-53517: Better Auth: OAuth refresh-token rotation forks the token family on concurrent redemption
(updated )
The OAuth provider’s POST /oauth2/token endpoint, on the refresh_token grant, performs a non-atomic read / validate / revoke / mint sequence on the oauthRefreshToken row. Two concurrent requests presenting the same parent refresh token both pass the revocation check before either revoke completes, so each mints a fresh refresh token. The replay-detection branch only fires when revoked is already truthy at read time, which is exactly the state concurrent attackers race past. The result is a forked refresh-token family from a single parent token.
References
- github.com/advisories/GHSA-392p-2q2v-4372
- github.com/better-auth/better-auth/commit/c6918ecc9e3a75892169415d7f6c95b591b6a52d
- github.com/better-auth/better-auth/releases/tag/v1.6.0
- github.com/better-auth/better-auth/releases/tag/v1.6.11
- github.com/better-auth/better-auth/security/advisories/GHSA-392p-2q2v-4372
- nvd.nist.gov/vuln/detail/CVE-2026-53517
Code Behaviors & Features
Detect and mitigate CVE-2026-53517 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →