CVE-2026-100699: Nodemailer before 10.0.9 Malformed Envelope Recipient via RFC 5322 Comment
Nodemailer is a Node.js email-sending library. In versions >= 9.1.0 and < 10.0.9, the address parser (src/addressparser) mishandles addresses whose local-part is a quoted string and that are followed by RFC 5322 comments, allowing trailing comment-separated domain atoms to be retained in the normalized address. For example, the input "user"@example.com(x)evil.com is parsed to the address value 'user@example.com evil.com', which contains additional attacker-controlled domain text separated by a literal space. This parsed value is used without further strict recipient validation when the message envelope is built (envelope.to in src/mime-node), so a malformed/ambiguous recipient address can be accepted and placed in the SMTP envelope. Whether this results in delivery to an unintended recipient on real SMTP servers has not been confirmed. The issue is a variant of the RFC 5322 comment parsing problem addressed in GHSA-cc9r-2j5m-2m83, affecting the separate quoted-local-part code path. Version 10.0.9 contains a fix.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Nodemailerto a version that resolves this vulnerability.Fixed in 10.0.9
Event History
Frequently Asked Questions
Which deployments are affected?
Deployments using Nodemailer versions 9.1.0 through versions before 10.0.9 are affected. The vulnerable behavior is in the address parser and the SMTP envelope construction path.
What input is required to trigger the issue?
An attacker must be able to supply or influence a recipient address processed by Nodemailer. The relevant form uses a quoted local part followed by an RFC 5322 comment and additional domain text, such as "user"@example.com(x)evil.com.
Is unintended email delivery confirmed?
No. The malformed normalized value can be accepted and placed in the SMTP envelope, but delivery to an unintended recipient on real SMTP servers has not been confirmed.
What should be done if an immediate upgrade is not possible?
Apply strict recipient-address validation before passing recipient values to Nodemailer, particularly rejecting quoted-local-part addresses followed by comments or unexpected trailing domain text. Version 10.0.9 contains the fix.