# CVE-2026-92598: Nodemailer IDN/Punycode domain allow-list bypass

Source: https://junglewise.ai/threats/cve-2026-92598-nodemailer-idn-punycode-domain-allow-list-bypass  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-16. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-92598 · Severity: medium · CVSS 6.5 · Published 2026-09-16

Nodemailer, a popular Node.js library for sending emails, incorrectly normalizes international domain names (IDN) when validating email recipients against domain allow-lists. An attacker can craft an email address with invisible or special Unicode characters that passes a standards-compliant validator but is delivered to a different attacker-controlled domain, bypassing email filtering and allow-lists and enabling unauthorized email delivery to external addresses.

Technologies: [Nodemailer](https://junglewise.ai/threats/technologies/nodemailer). Vendors: [Nodemailer](https://junglewise.ai/threats/vendors/nodemailer).

## Quick answers

**Is CVE-2026-92598 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-92598 being exploited in the wild.

**How severe is CVE-2026-92598?** Medium severity, with a CVSS score of 6.5, published 16 September 2026.

**Which products and versions are affected?** Nodemailer < 9.1.0.

**Is there a fix for CVE-2026-92598?** A patch was published on 2026-09-01: Fixed in Nodemailer 9.1.0 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-92598 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-92598?** Check whether you run Nodemailer at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability is an interpretation conflict (CWE-436) in the address normalization logic (_normalizeAddress in lib/mime-node/index.js). Nodemailer uses a raw RFC-3492 Punycode codec without UTS-46 mapping/normalization, while standard validators (Node's url.domainToASCII, browsers, Python's idna library) apply UTS-46 processing before encoding. This means Nodemailer converts a domain containing ignored/mapped characters (e.g., U+00AD SOFT HYPHEN or full-width characters) to a different xn-- label than what standards-compliant validators compute. An application that checks a recipient domain against an allow-list using a standards-compliant parser and then delivers via Nodemailer will send to the attacker's computed domain instead. The attack requires no user interaction and is triggered by specially crafted email addresses containing invisible or compatibility characters. The vulnerability was patched in version 9.1.0 by implementing proper UTS-46 normalization.

## Affected products

- Nodemailer Nodemailer < 9.1.0

## Identifiers

- CVE-2026-92598
- GHSA-wmmp-3585-3rmp

## Timeline

- 2026-09-08: disclosed: Vulnerability published as GHSA-wmmp-3585-3rmp
- 2026-09-01: patched: Fixed in Nodemailer 9.1.0

## References

- [https://github.com/nodemailer/nodemailer/security/advisories/GHSA-wmmp-3585-3rmp](https://github.com/nodemailer/nodemailer/security/advisories/GHSA-wmmp-3585-3rmp)
- [https://github.com/nodemailer/nodemailer/pull/1848](https://github.com/nodemailer/nodemailer/pull/1848)

## Related threats

- [Nodemailer address parsing bypass in addressparser](https://junglewise.ai/threats/cve-2026-125755-nodemailer-3-0-0-before-10-4-1-contains-an-address-parsing-flaw)
- [Nodemailer address parsing bypass in nested RFC 5322 comments](https://junglewise.ai/threats/cve-2026-121424-nodemailer-from-3-0-0-before-10-1-4-contains-an-address-parsing)
- [Nodemailer addressparser RFC 5322 comment parsing bypass](https://junglewise.ai/threats/nodemailer-a-nested-comment-ends-early-in-addressparser-releasing-the-4e80613c)
- [Nodemailer addressparser group terminator bypass in quoted strings](https://junglewise.ai/threats/nodemailer-a-inside-a-quoted-string-or-comment-ends-an-address-group-b8b045f9)
- [Nodemailer addressparser angle-addr parsing bypass](https://junglewise.ai/threats/nodemailer-a-inside-a-quoted-local-part-ends-an-angle-addr-early-in-28663cfb)
