CVE-2026-45337

Better Auth: Device authorization approve and deny accept any authenticated session while the user code is pending

State
Published
Severity
7.6 High
Published
Jul 15, 2026
Updated
Jul 15, 2026
Reserved
May 11, 2026

Read the record on cve.org

Description

Better Auth is an authentication and authorization library for TypeScript. From 1.6.0 until 1.6.11, the deviceAuthorization plugin treats any authenticated session as the owner of any pending device code because GET /device does not claim the row and POST /device/approve and POST /device/deny short-circuit when userId is unset, allowing an authenticated attacker who learns a valid user_code to bind the polling device to the attacker's account or deny the legitimate flow. This issue is fixed in version 1.6.11.

Scores

CVSSScoreVectorSource
3.17.6 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:LGitHub_M

Weaknesses

  • CWE-285 Improper Authorization
  • CWE-345 Insufficient Verification of Data Authenticity

Affected Products

ProductVersions
better-authbetter-auth
  • >= 1.6.0, < 1.6.11Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.