Skip to content
Fencer Vulns
critical 9.1

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

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

Sources

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.