CVE-2026-73420 json
NextAuth.js: Email normalizer validates the address before Unicode normalization, allowing a homoglyph @ bypass
published 2026-07-23 3 mo ago modified 2026-09-18 51 d ago also EUVD-2026-58519 , GHSA-7rqj-j65f-68wh
- cvss
- 9.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 54%
- public exploits
- 0
- none known
Summary
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 defaultNormalizer used by the email and magic-link sign-in flow validates an address before applying Unicode normalization. An address can contain a Unicode character such as U+FF20 FULLWIDTH COMMERCIAL AT that is not ASCII at-sign but canonicalizes to an ASCII at-sign under NFKC or NFKD normalization. The address passes the normalizer's single-at-sign check, but a downstream sendVerificationRequest mail library or delivery service that normalizes the address can then see two at-sign separators and deliver the passwordless sign-in link to an attacker-controlled recipient. Applications are affected when the email provider uses the built-in normalizer rather than a custom normalizeIdentifier and the downstream sender applies Unicode normalization. An attacker who knows a victim's email address can request the misrouted magic link and sign in as the victim without victim interaction. This issue is fixed in @auth/core 0.41.3 and next-auth 4.24.15 and 5.0.0-beta.32.
Patch / fix
- npm @auth/core 0.41.3
- npm next-auth 4.24.15, 5.0.0-beta.32
- nextauth.js next-auth 4.24.15, 5.0.0-beta.32
- nextauth.js @auth/core 0.41.3
- github.com/nextauthjs/next-auth@19d2feb commit
- github.com/nextauthjs/next-auth@a63eee1 commit
- github.com/nextauthjs/next-auth/releases/tag/@auth/core@0.41.3 release
- github.com/nextauthjs/next-auth/releases/tag/next-auth@4.24.15 release
- github.com/nextauthjs/next-auth/releases/tag/next-auth@5.0.0-beta.32 release
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 2 mo ago
Exploit prediction
0.73% chance of exploitation in the next 30 days, higher than 54% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 9.1 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 9.1 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @auth/core | >=0.1.0, <0.41.3 |
0.41.3 |
| npm | next-auth | >=4.10.3, <4.24.15 >=5.0.0-beta.1, <5.0.0-beta.32 |
4.24.15 5.0.0-beta.32 |
Affected products
- nextauthjs next-auth
- @auth core
Classification
- Weakness
-
- CWE-180 Incorrect Behavior Order: Validate Before Canonicalize
References
-
github.com
/nextauthjs/next-auth/commit/19d2feb24359fa8c79418907fc68d9ec8152ca94
web
-
github.com
/nextauthjs/next-auth/commit/a63eee12a1a20cb35209e44195b097868517b9a0
web
-
github.com
/nextauthjs/next-auth/security/advisories/GHSA-7rqj-j65f-68wh
web
-
github.com
/nextauthjs/next-auth/releases/tag/@auth/core@0.41.3
web
-
github.com
/nextauthjs/next-auth/releases/tag/next-auth@4.24.15
web
-
github.com
/nextauthjs/next-auth/releases/tag/next-auth@5.0.0-beta.32
web
-
github.com
/nextauthjs/next-auth
package
Sources
- CVE List CVE-2026-73420
- GitHub Advisory GHSA-7rqj-j65f-68wh
- NVD CVE-2026-73420
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.