What’s Vulnerable › Vulnerabilities
CVE-2026-45337: Better Auth: Device authorization approve and deny accept any authenticated session while the user code is pending
- Severity: high (CVSS 7.6 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-07-15 · updated 2026-07-21
- Weakness: CWE-285
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.
Affected products
- better-auth: from 1.6.0 before 1.6.11 — fixed in 1.6.11
How to fix
Upgrade to a fixed version: better-auth 1.6.11. Check the vendor advisory for mitigations.
References
- https://github.com/better-auth/better-auth/commit/99a254a79b59d5a3f5ca2123260118cddb5beed7
- https://github.com/better-auth/better-auth/pull/9573
- https://github.com/better-auth/better-auth/releases/tag/v1.6.11
- https://github.com/better-auth/better-auth/security/advisories/GHSA-cq3f-vc6p-68fh
Get alerted when CVE-2026-45337 or the next vulnerability affects your stack