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.
{
"cwe_ids": [
"CWE-362",
"CWE-367"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53517.json",
"cna_assigner": "GitHub_M"
}{
"cpe": [
"cpe:2.3:a:better-auth:better-auth\\/oauth-provider:*:*:*:*:*:node.js:*:*",
"cpe:2.3:a:better-auth:better_auth:*:*:*:*:*:node.js:*:*",
"cpe:2.3:a:better-auth:better_auth:1.4.8:-:*:*:*:node.js:*:*"
],
"extracted_events": [
{
"introduced": "1.6.0"
},
{
"fixed": "1.6.11"
},
{
"introduced": "1.4.9"
},
{
"introduced": "1.4.8-NA"
},
{
"last_affected": "1.4.8-NA"
}
],
"source": [
"CPE_RANGE",
"CPE_STRING",
"REFERENCES"
]
}