Better Auth: OAuth refresh-token replay via missing client authentication on oidc-provider and mcp plugins
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| better-auth | better-auth | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Better-auth | Better Auth |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-pw9m-5jxm-xr6h | Better Auth: OAuth refresh-token replay via missing client authentication on oidc-provider and mcp plugins |
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.275% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Better-auth
Better-auth better Auth |
|
| Vendors & Products |
Better-auth
Better-auth better Auth |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | Better Auth: OAuth refresh-token replay via missing client authentication on oidc-provider and mcp plugins | |
| Weaknesses | CWE-287 CWE-306 CWE-345 CWE-863 |
|
| References |
| |
| Metrics |
cvssV4_0
|