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

High 7.6 Published Updated

An authenticated attacker can hijack pending device authorization flows by binding them to their own account or denying legitimate requests.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-45337?

CVE-2026-45337 is a high-severity authentication bypass vulnerability in better-auth, published on 15 Jul 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.

Official 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.

Weakness: CWE-345, CWE-285

Which versions are affected by CVE-2026-45337?

2 open source packages ship an affected version, including better-auth. It affects 1 product.

PackageAffectedFixed in
better-auth npmFrom 1.6.01.6.11
better-auth npmFrom 1.6.01.6.11

Products include Better-Auth Better Auth.

How do I fix CVE-2026-45337?

Upgrade better-auth to 1.6.11 or later.

Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.

Is CVE-2026-45337 being exploited?

There is no known exploitation of CVE-2026-45337 in the wild and no public exploit code.

Sources

Also known as GHSA-cq3f-vc6p-68fh.

Is CVE-2026-45337 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free