CVE Catalog

CVE-2025-61928

CriticalCVSS 9.3
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Very high risk
17.93%

97th percentile - higher than 97% of all known CVEs

Summary

In Better Auth versions prior to 1.3.26, an unauthenticated attacker can create or modify API keys for any user by passing that user's id in the request body to the api/auth/api-key/create route. When no session exists but userId is present, authRequired becomes false and server-only field validation is skipped, allowing privileged fields to be set. The same pattern exists in the update endpoint; this is a critical authentication bypass fixed in version 1.3.26.

Risk Assessment

An unauthenticated attacker can generate an API key for any user and immediately gain complete authenticated access, performing any action as the victim user. This may compromise user data and the application depending on the victim's privileges.

Recommendation

Update Better Auth to version 1.3.26 or later. Until updated, consider disabling or restricting the API key create and update endpoints.

Other vulnerabilities in Better Auth

See all
Original NVD description (English source)

Better Auth is an authentication and authorization library for TypeScript. In versions prior to 1.3.26, unauthenticated attackers can create or modify API keys for any user by passing that user's id in the request body to the `api/auth/api-key/create` route. `session?.user ?? (authRequired ? null : { id: ctx.body.userId })`. When no session exists but `userId` is present in the request body, `authRequired` becomes false and the user object is set to the attacker-controlled ID. Server-only field validation only executes when `authRequired` is true (lines 280-295), allowing attackers to set privileged fields. No additional authentication occurs before the database operation, so the malicious payload is accepted. The same pattern exists in the update endpoint. This is a critical authentication bypass enabling full an unauthenticated attacker can generate an API key for any user and immediately gain complete authenticated access. This allows the attacker to perform any action as the victim user using the api key, potentially compromise the user data and the application depending on the victim's privileges. Version 1.3.26 contains a patch for the issue.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS