CVE-2026-73418
NextAuth.js: getToken() throws an uncaught exception on malformed Bearer authorization headers
- Published
- Updated
- Reserved
- Assigned by
- GitHub_M
Description
NextAuth.js provides authentication for Next.js. Prior to @auth/core 0.41.3 and next-auth 4.24.15 and 5.0.0-beta.32, the exported getToken() helper in the next-auth/jwt and @auth/core/jwt modules can throw an uncaught exception when it reads a malformed Authorization: Bearer header. When no session cookie is present, getToken() URL-decodes the bearer value before validating it, and malformed percent encoding causes decodeURIComponent() to throw instead of treating the token as invalid. Because getToken() is commonly called in API routes, middleware, and server-side request handlers, a single unauthenticated request can trigger an unhandled exception in code paths that authenticate requests, causing a per-request denial of service without exposing tokens, sessions, or other data and without bypassing authentication. This issue is fixed in @auth/core 0.41.3 and next-auth 4.24.15 and 5.0.0-beta.32.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| GitHub_MCNA (assigner) | 3.1 | High7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVDNVD · Awaiting Analysis | 3.1 | High7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
- EPSS (exploitation in 30 days)
- 0.88% · top 41% of all CVEs (6 Nov 2026)
- CISA SSVC
- Exploitation: none · Automatable: yes · Technical impact: partial
The list uses the assigner's score when there is one, then CISA's, then NVD's: High 7.5.
Weakness
Affected products
- affected >= 4.0.6, <= 4.24.14
- affected >= 5.0.0-beta.0, <= 5.0.0-beta.31
- affected >= 0.1.0, < 0.41.3
Affected packages
From reviewed advisories of the GitHub Advisory Database.
- npm@auth/coreGHSA-xmf8-cvqr-rfgj (opens in a new tab)
- npmnext-authGHSA-xmf8-cvqr-rfgj (opens in a new tab)
References (7)
- https://github.com/nextauthjs/next-auth/security/advisories/GHSA-xmf8-cvqr-rfgj (opens in a new tab)x_refsource_CONFIRM
- https://github.com/nextauthjs/next-auth/pull/13469 (opens in a new tab)x_refsource_MISC
- https://github.com/nextauthjs/next-auth/commit/5bca2399a79ba8d116ca5179b4b1ebcd152e7f05 (opens in a new tab)x_refsource_MISC
- https://github.com/nextauthjs/next-auth/commit/e707770f00c52b3479e43422b0200b059149ed53 (opens in a new tab)x_refsource_MISC
- https://github.com/nextauthjs/next-auth/releases/tag/%40auth%2Fcore%400.41.3 (opens in a new tab)x_refsource_MISC
- https://github.com/nextauthjs/next-auth/releases/tag/next-auth%404.24.15 (opens in a new tab)x_refsource_MISC
- https://github.com/nextauthjs/next-auth/releases/tag/next-auth%405.0.0-beta.32 (opens in a new tab)x_refsource_MISC
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisory GHSA-xmf8-cvqr-rfgj (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://trackcve.app/cve/CVE-2026-73418)Record last updated .