nodemailer
10.2.1 · 22 Oct 2026MIT-023.7M / weekRepositoryHomepagenpmAtom feed
Upgrading nodemailer from 10.0.3 to 10.2.1
23 releases in betweenevery note read
Before you upgrade
Tick each one off as you go- breaking10.2.1
Security
Fixes 10 advisories affecting 10.0.3
- Nodemailer: Quadratic (O(n^2)) DKIM header unfolding lets a large folded header cause remote denial of service during signingmoderate · GHSA-39m8-27wv-hr27
- Nodemailer: Quadratic backtracking in SMTP AUTH mechanism detection regexes allows pre-auth remote denial of servicemoderate · GHSA-4ffr-jq9g-5ffx
- Nodemailer: Quadratic (O(n^2)) SMTP client reply parsing lets a malicious server or MITM cause a pre-auth remote denial of servicemoderate · GHSA-4g23-2xm8-66gc
- Nodemailer: A ">" inside a quoted local part ends an angle-addr early in addressparser, delivering to a domain the header does not namemoderate · GHSA-85x2-q946-cp5h
- Nodemailer: A nested comment ends early in addressparser, releasing the rest of the comment as a recipientmoderate · GHSA-8c8m-p3m8-cjg8
- Nodemailer: Quoted local-part can produce malformed envelope recipient through RFC 5322 comment parsingmoderate · GHSA-g57g-f23g-4646
- Nodemailer: RFC 5322 comment inside an angle-bracket address is never strippedmoderate · GHSA-g73g-hqqh-jr95
- Nodemailer: A ";" inside a quoted string or comment ends an address group early in addressparser, turning display text into a recipientmoderate · GHSA-m943-m63m-w62w
- Nodemailer addressparser: O(n^2) on comment-joined addresses enables a remote DoS (reachable via mailparser)high · GHSA-prgh-xp8r-p3m5
- Nodemailer: Quadratic backtracking in the addressparser free-text fallback allows remote denial of servicehigh · GHSA-v53p-9fqp-m79j
Release by release
10.2.1nothing new or fixed in the note
- new
Add info.serverMessageId from the final 250 reply
- new
Add pendingCount() to the SMTP pool
- new
Make header value encoding public with MimeNode encodeHeaderValue()
- new
Mark SMTP errors as permanent or transient with err.permanent
- fixed
Label an ASCII message/rfc822 attachment 7bit instead of 8bit
- fixed
Report the recipients an LMTP server refuses after DATA in rejectedErrors
- new
- fixed
mime-funcs: encode parameter values that look like encoded words
- fixed
- fixed
addressparser: read groups in the same pass as the rest of the list
- fixed
- fixed
addressparser: handle an address list without copying it per address
- fixed
addressparser: tokenize into offsets instead of an object per token
- fixed
- fixed
addressparser: apply the unexpected "<" rule outside quotes and comments
- fixed
addressparser: bound group nesting at ten levels
- fixed
addressparser: drop the obsolete route from an angle-addr
- fixed
addressparser: end a comment only at the ")" that closes the outermost one
- fixed
- fixed
Format References and strip URLs in linear time, release any number of streams
- fixed
- fixed
Bound the work a message can make the mailer do and keep per-message auth off the transport's token endpoint
- fixed