Vulnerability Details CVE-2026-53512
Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.11, the legacy oidcProvider and mcp plugins expose OAuth token endpoints whose refresh_token grant authenticates only possession of the bound refreshToken row and matching client_id, without verifying the confidential client's client_secret, allowing an attacker with a valid refresh_token to mint access tokens and rotated refresh tokens through /api/auth/oauth2/token or /api/auth/mcp/token. The @better-auth/oauth-provider package is not affected. This issue is fixed in version 1.6.11.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.003
EPSS Ranking 22.4%
CVSS Severity
CVSS v3 Score 9.1
Products affected by CVE-2026-53512
-
cpe:2.3:a:better-auth:better_auth:-
-
cpe:2.3:a:better-auth:better_auth:0.0.10
-
cpe:2.3:a:better-auth:better_auth:0.0.2
-
cpe:2.3:a:better-auth:better_auth:0.0.3
-
cpe:2.3:a:better-auth:better_auth:0.0.4
-
cpe:2.3:a:better-auth:better_auth:0.0.5
-
cpe:2.3:a:better-auth:better_auth:0.0.6
-
cpe:2.3:a:better-auth:better_auth:0.0.7
-
cpe:2.3:a:better-auth:better_auth:0.0.8
-
cpe:2.3:a:better-auth:better_auth:0.0.9
-
cpe:2.3:a:better-auth:better_auth:0.1.0
-
cpe:2.3:a:better-auth:better_auth:0.1.1
-
cpe:2.3:a:better-auth:better_auth:0.2.0
-
cpe:2.3:a:better-auth:better_auth:0.2.1
-
cpe:2.3:a:better-auth:better_auth:0.2.10
-
cpe:2.3:a:better-auth:better_auth:0.2.11
-
cpe:2.3:a:better-auth:better_auth:0.2.2
-
cpe:2.3:a:better-auth:better_auth:0.2.3
-
cpe:2.3:a:better-auth:better_auth:0.2.4
-
cpe:2.3:a:better-auth:better_auth:0.2.5
-
cpe:2.3:a:better-auth:better_auth:0.2.6
-
cpe:2.3:a:better-auth:better_auth:0.2.7
-
cpe:2.3:a:better-auth:better_auth:0.2.8
-
cpe:2.3:a:better-auth:better_auth:0.2.9
-
cpe:2.3:a:better-auth:better_auth:0.3.0
-
cpe:2.3:a:better-auth:better_auth:0.3.1
-
cpe:2.3:a:better-auth:better_auth:0.3.2
-
cpe:2.3:a:better-auth:better_auth:0.3.3
-
cpe:2.3:a:better-auth:better_auth:0.3.4
-
cpe:2.3:a:better-auth:better_auth:0.3.5
-
cpe:2.3:a:better-auth:better_auth:0.3.6
-
cpe:2.3:a:better-auth:better_auth:0.4.0
-
cpe:2.3:a:better-auth:better_auth:0.4.1
-
cpe:2.3:a:better-auth:better_auth:0.4.10
-
cpe:2.3:a:better-auth:better_auth:0.4.11
-
cpe:2.3:a:better-auth:better_auth:0.4.12
-
cpe:2.3:a:better-auth:better_auth:0.4.13
-
cpe:2.3:a:better-auth:better_auth:0.4.14
-
cpe:2.3:a:better-auth:better_auth:0.4.2
-
cpe:2.3:a:better-auth:better_auth:0.4.3
-
cpe:2.3:a:better-auth:better_auth:0.4.4
-
cpe:2.3:a:better-auth:better_auth:0.4.5
-
cpe:2.3:a:better-auth:better_auth:0.4.6
-
cpe:2.3:a:better-auth:better_auth:0.4.7
-
cpe:2.3:a:better-auth:better_auth:0.4.8
-
cpe:2.3:a:better-auth:better_auth:0.4.9
-
cpe:2.3:a:better-auth:better_auth:0.5.0
-
cpe:2.3:a:better-auth:better_auth:0.5.1
-
cpe:2.3:a:better-auth:better_auth:0.5.2
-
cpe:2.3:a:better-auth:better_auth:0.5.3
-
cpe:2.3:a:better-auth:better_auth:0.5.4
-
cpe:2.3:a:better-auth:better_auth:0.6.0
-
cpe:2.3:a:better-auth:better_auth:0.6.1
-
cpe:2.3:a:better-auth:better_auth:0.6.2
-
cpe:2.3:a:better-auth:better_auth:0.6.3
-
cpe:2.3:a:better-auth:better_auth:0.7.0
-
cpe:2.3:a:better-auth:better_auth:0.7.1
-
cpe:2.3:a:better-auth:better_auth:0.7.2
-
cpe:2.3:a:better-auth:better_auth:0.7.3
-
cpe:2.3:a:better-auth:better_auth:0.7.4
-
cpe:2.3:a:better-auth:better_auth:0.7.5
-
cpe:2.3:a:better-auth:better_auth:0.7.6
-
cpe:2.3:a:better-auth:better_auth:0.8.0
-
cpe:2.3:a:better-auth:better_auth:0.8.1
-
cpe:2.3:a:better-auth:better_auth:0.8.2
-
cpe:2.3:a:better-auth:better_auth:0.8.3
-
cpe:2.3:a:better-auth:better_auth:0.8.4
-
cpe:2.3:a:better-auth:better_auth:0.8.5
-
cpe:2.3:a:better-auth:better_auth:0.8.6
-
cpe:2.3:a:better-auth:better_auth:0.8.7
-
cpe:2.3:a:better-auth:better_auth:0.8.8
-
cpe:2.3:a:better-auth:better_auth:0.8.9
-
cpe:2.3:a:better-auth:better_auth:1.0.0
-
cpe:2.3:a:better-auth:better_auth:1.0.1
-
cpe:2.3:a:better-auth:better_auth:1.0.10
-
cpe:2.3:a:better-auth:better_auth:1.0.11
-
cpe:2.3:a:better-auth:better_auth:1.0.12
-
cpe:2.3:a:better-auth:better_auth:1.0.13
-
cpe:2.3:a:better-auth:better_auth:1.0.14
-
cpe:2.3:a:better-auth:better_auth:1.0.15
-
cpe:2.3:a:better-auth:better_auth:1.0.16
-
cpe:2.3:a:better-auth:better_auth:1.0.17
-
cpe:2.3:a:better-auth:better_auth:1.0.18
-
cpe:2.3:a:better-auth:better_auth:1.0.19
-
cpe:2.3:a:better-auth:better_auth:1.0.2
-
cpe:2.3:a:better-auth:better_auth:1.0.20
-
cpe:2.3:a:better-auth:better_auth:1.0.21
-
cpe:2.3:a:better-auth:better_auth:1.0.22
-
cpe:2.3:a:better-auth:better_auth:1.0.23
-
cpe:2.3:a:better-auth:better_auth:1.0.3
-
cpe:2.3:a:better-auth:better_auth:1.0.4
-
cpe:2.3:a:better-auth:better_auth:1.0.5
-
cpe:2.3:a:better-auth:better_auth:1.0.6
-
cpe:2.3:a:better-auth:better_auth:1.0.7
-
cpe:2.3:a:better-auth:better_auth:1.0.8
-
cpe:2.3:a:better-auth:better_auth:1.0.9
-
cpe:2.3:a:better-auth:better_auth:1.1.0
-
cpe:2.3:a:better-auth:better_auth:1.1.1
-
cpe:2.3:a:better-auth:better_auth:1.1.10
-
cpe:2.3:a:better-auth:better_auth:1.1.11
-
cpe:2.3:a:better-auth:better_auth:1.1.12
-
cpe:2.3:a:better-auth:better_auth:1.1.13
-
cpe:2.3:a:better-auth:better_auth:1.1.14
-
cpe:2.3:a:better-auth:better_auth:1.1.15
-
cpe:2.3:a:better-auth:better_auth:1.1.16
-
cpe:2.3:a:better-auth:better_auth:1.1.17
-
cpe:2.3:a:better-auth:better_auth:1.1.18
-
cpe:2.3:a:better-auth:better_auth:1.1.19
-
cpe:2.3:a:better-auth:better_auth:1.1.2
-
cpe:2.3:a:better-auth:better_auth:1.1.20
-
cpe:2.3:a:better-auth:better_auth:1.1.21
-
cpe:2.3:a:better-auth:better_auth:1.1.22
-
cpe:2.3:a:better-auth:better_auth:1.1.3
-
cpe:2.3:a:better-auth:better_auth:1.1.4
-
cpe:2.3:a:better-auth:better_auth:1.1.5
-
cpe:2.3:a:better-auth:better_auth:1.1.6
-
cpe:2.3:a:better-auth:better_auth:1.1.7
-
cpe:2.3:a:better-auth:better_auth:1.1.8
-
cpe:2.3:a:better-auth:better_auth:1.1.9
-
cpe:2.3:a:better-auth:better_auth:1.2.0
-
cpe:2.3:a:better-auth:better_auth:1.2.1
-
cpe:2.3:a:better-auth:better_auth:1.2.10
-
cpe:2.3:a:better-auth:better_auth:1.2.11
-
cpe:2.3:a:better-auth:better_auth:1.2.12
-
cpe:2.3:a:better-auth:better_auth:1.2.2
-
cpe:2.3:a:better-auth:better_auth:1.2.3
-
cpe:2.3:a:better-auth:better_auth:1.2.4
-
cpe:2.3:a:better-auth:better_auth:1.2.5
-
cpe:2.3:a:better-auth:better_auth:1.2.6
-
cpe:2.3:a:better-auth:better_auth:1.2.7
-
cpe:2.3:a:better-auth:better_auth:1.2.8
-
cpe:2.3:a:better-auth:better_auth:1.2.9
-
cpe:2.3:a:better-auth:better_auth:1.3.0
-
cpe:2.3:a:better-auth:better_auth:1.3.1
-
cpe:2.3:a:better-auth:better_auth:1.3.10
-
cpe:2.3:a:better-auth:better_auth:1.3.11
-
cpe:2.3:a:better-auth:better_auth:1.3.12
-
cpe:2.3:a:better-auth:better_auth:1.3.13
-
cpe:2.3:a:better-auth:better_auth:1.3.14
-
cpe:2.3:a:better-auth:better_auth:1.3.15
-
cpe:2.3:a:better-auth:better_auth:1.3.16
-
cpe:2.3:a:better-auth:better_auth:1.3.17
-
cpe:2.3:a:better-auth:better_auth:1.3.18
-
cpe:2.3:a:better-auth:better_auth:1.3.19
-
cpe:2.3:a:better-auth:better_auth:1.3.2
-
cpe:2.3:a:better-auth:better_auth:1.3.20
-
cpe:2.3:a:better-auth:better_auth:1.3.21
-
cpe:2.3:a:better-auth:better_auth:1.3.22
-
cpe:2.3:a:better-auth:better_auth:1.3.23
-
cpe:2.3:a:better-auth:better_auth:1.3.24
-
cpe:2.3:a:better-auth:better_auth:1.3.25
-
cpe:2.3:a:better-auth:better_auth:1.3.26
-
cpe:2.3:a:better-auth:better_auth:1.3.27
-
cpe:2.3:a:better-auth:better_auth:1.3.28
-
cpe:2.3:a:better-auth:better_auth:1.3.29
-
cpe:2.3:a:better-auth:better_auth:1.3.3
-
cpe:2.3:a:better-auth:better_auth:1.3.30
-
cpe:2.3:a:better-auth:better_auth:1.3.31
-
cpe:2.3:a:better-auth:better_auth:1.3.32
-
cpe:2.3:a:better-auth:better_auth:1.3.33
-
cpe:2.3:a:better-auth:better_auth:1.3.34
-
cpe:2.3:a:better-auth:better_auth:1.3.4
-
cpe:2.3:a:better-auth:better_auth:1.3.5
-
cpe:2.3:a:better-auth:better_auth:1.3.6
-
cpe:2.3:a:better-auth:better_auth:1.3.7
-
cpe:2.3:a:better-auth:better_auth:1.3.8
-
cpe:2.3:a:better-auth:better_auth:1.3.9
-
cpe:2.3:a:better-auth:better_auth:1.4.0
-
cpe:2.3:a:better-auth:better_auth:1.4.1
-
cpe:2.3:a:better-auth:better_auth:1.4.10
-
cpe:2.3:a:better-auth:better_auth:1.4.11
-
cpe:2.3:a:better-auth:better_auth:1.4.12
-
cpe:2.3:a:better-auth:better_auth:1.4.13
-
cpe:2.3:a:better-auth:better_auth:1.4.14
-
cpe:2.3:a:better-auth:better_auth:1.4.15
-
cpe:2.3:a:better-auth:better_auth:1.4.16
-
cpe:2.3:a:better-auth:better_auth:1.4.17
-
cpe:2.3:a:better-auth:better_auth:1.4.18
-
cpe:2.3:a:better-auth:better_auth:1.4.19
-
cpe:2.3:a:better-auth:better_auth:1.4.2
-
cpe:2.3:a:better-auth:better_auth:1.4.20
-
cpe:2.3:a:better-auth:better_auth:1.4.21
-
cpe:2.3:a:better-auth:better_auth:1.4.22
-
cpe:2.3:a:better-auth:better_auth:1.4.3
-
cpe:2.3:a:better-auth:better_auth:1.4.4
-
cpe:2.3:a:better-auth:better_auth:1.4.5
-
cpe:2.3:a:better-auth:better_auth:1.4.6
-
cpe:2.3:a:better-auth:better_auth:1.4.7
-
cpe:2.3:a:better-auth:better_auth:1.4.8
-
cpe:2.3:a:better-auth:better_auth:1.4.9
-
cpe:2.3:a:better-auth:better_auth:1.5.0
-
cpe:2.3:a:better-auth:better_auth:1.5.1
-
cpe:2.3:a:better-auth:better_auth:1.5.2
-
cpe:2.3:a:better-auth:better_auth:1.5.3
-
cpe:2.3:a:better-auth:better_auth:1.5.4
-
cpe:2.3:a:better-auth:better_auth:1.5.5
-
cpe:2.3:a:better-auth:better_auth:1.5.6
-
cpe:2.3:a:better-auth:better_auth:1.5.7
-
cpe:2.3:a:better-auth:better_auth:1.6.0
-
cpe:2.3:a:better-auth:better_auth:1.6.1
-
cpe:2.3:a:better-auth:better_auth:1.6.10
-
cpe:2.3:a:better-auth:better_auth:1.6.2
-
cpe:2.3:a:better-auth:better_auth:1.6.3
-
cpe:2.3:a:better-auth:better_auth:1.6.4
-
cpe:2.3:a:better-auth:better_auth:1.6.5
-
cpe:2.3:a:better-auth:better_auth:1.6.6
-
cpe:2.3:a:better-auth:better_auth:1.6.7
-
cpe:2.3:a:better-auth:better_auth:1.6.8
-
cpe:2.3:a:better-auth:better_auth:1.6.9