PT-2026-94115 · Npm · Nodemailer

·

CVE-2026-92598

·

Published

2026-09-08

·

Updated

2026-09-16

CVSS v4.0

8.3

High

VectorAV: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
Name of the Vulnerable Software and Affected Versions Nodemailer versions prior to 9.1.0
Description Nodemailer fails to apply UTS-46 normalization when encoding international domain names (IDN), leading to a discrepancy between how the software and standards-compliant parsers (such as web browsers and Node's url.domainToASCII) compute Punycode A-labels. The issue resides in the normalizeAddress() function within lib/mime-node/index.js, which uses a raw RFC-3492 Punycode codec that lacks UTS-46 mapping and normalization. This allows attackers to use invisible characters, such as the U+00AD SOFT HYPHEN, or compatibility mappings to bypass domain allow-list checks. While a validator may see a trusted domain, Nodemailer delivers the email to a different, potentially attacker-controlled domain via SMTP. This occurs because the software does not perform essential UTS-46 steps, including removing ignored code points, mapping compatibility characters, and Unicode NFC normalization.
Recommendations Update Nodemailer to version 9.1.0 or later. As a temporary mitigation, reject any domain whose value changes when processed by a UTS-46 compliant mapper, such as when punycode.toASCII(d) does not equal url.domainToASCII(d).

Exploit

Fix

RCE

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-92598
GHSA-WMMP-3585-3RMP

Affected Products

Nodemailer