CVE-2026-100701: Nodemailer 5.0.0 through 10.0.1 TLS servername Cache Confusion
Nodemailer versions 5.0.0 through 10.0.1 use a process-global DNS cache that is keyed only by the DNS host, while each cache entry also stores the caller-specific TLS servername. When two direct TLS/SMTPS transports (secure: true) resolve the same non-IP host with different tls.servername values, the first transport's servername is returned on the cache hit and overwrites the second transport's explicitly configured value, so Nodemailer sends the wrong SNI value and validates the peer certificate against the wrong identity. In multi-tenant services or SNI-routed SMTP gateways, an attacker who can prime the cache can cause a victim transport to connect to the attacker's TLS virtual host and accept the attacker's certificate even with rejectUnauthorized: true, disclosing the victim's SMTP credentials. Fixed in 10.0.2.
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.2
Event History
Frequently Asked Questions
Which deployments are realistically exposed?
The issue affects multi-tenant services or SNI-routed SMTP gateways that use direct TLS/SMTPS transports with secure: true. Exploitation requires transports to resolve the same non-IP DNS host while using different tls.servername values.
What access does an attacker need to exploit this?
An attacker needs the ability to prime Nodemailer's process-global DNS cache before a victim transport uses the same DNS host. The attacker must cause the cached entry to carry the attacker's TLS servername, which is then applied to the victim transport on a cache hit.
Does certificate verification prevent credential disclosure?
No. The described condition can cause Nodemailer to validate the peer certificate against the incorrectly cached servername and accept the attacker's certificate even when rejectUnauthorized: true. This can disclose the victim transport's SMTP credentials.
What is the remediation?
Upgrade Nodemailer to version 10.0.2, which fixes the issue. The affected version range is 5.0.0 through 10.0.1.