CVE-2026-92597
massRFC 5322 comment misparse in Nodemailer enables recipient domain validation bypass
Nodemailer versions 6.9.16 through 9.0.x contain a flaw in lib/addressparser where a comment closed immediately before a non-break character is not treated as folding whitespace that terminates the domain; instead, the tokenizer concatenates the atoms around the comment into a single domain. An attacker who submits an address such as [email protected](x)evil.com gets Nodemailer to read the recipient domain as good-corp.comevil.com (registrable domain comevil.com, which the attacker can register) and use it for both the SMTP envelope and the To:/From: headers, while a conformant RFC 5322 validator reads good-corp.com. Applications that allow-list recipient domains with a strict parser or naive prefix/substring check and then hand the raw address string to Nodemailer can therefore be tricked into sending mail to an attacker-controlled domain, potentially leaking message contents or enabling interception via the attacker's mail server. Any application or service in the affected version range that performs domain validation with a parser other than Nodemailer's own is affected; exploitation requires no privileges or user interaction. There is currently no CISA KEV listing and no known public proof-of-concept or reported in-the-wild exploitation.
What to do: Upgrade to Nodemailer 9.1.0 or later, which correctly terminates the domain at comments. Until upgraded, reject or strip addresses containing parenthesized comments before validation, or perform your domain allow-list check on the address as parsed by Nodemailer itself rather than with a separate strict parser or substring match, and audit outbound mail flows that accept user-supplied recipient addresses.
| Nodemailer | >= 6.9.16 and < 9.1.0 (fixed in 9.1.0) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Nodemailer versions >= 6.9.16 and < 9.1.0 mis-parse RFC 5322 comments in email addresses: in lib/addressparser, a comment closed immediately before a non-break character causes the tokenizer to concatenate the atoms surrounding the comment instead of treating the comment as folding whitespace that terminates the domain. A recipient address such as [email protected](x)evil.com is therefore read by Nodemailer as the single domain good-corp.comevil.com (registrable domain comevil.com, which an attacker can register) and used for both the SMTP envelope (RCPT TO) and the emitted To:/From: headers, while a conformant RFC 5322 parser terminates the domain at the comment and reads good-corp.com. An application that validates the recipient domain with a strict RFC 5322 parser (without inspecting parse defects) or a naive prefix/substring allow-list and then hands the raw address to Nodemailer can be induced to deliver mail to a domain the attacker controls. Fixed in 9.1.0.
- Weakness
- CWE-436
- Vector
- CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:L/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
In the news0 stories
No ingested article mentions this CVE yet.