nodemailer/smtp-server · Security
smtp-server's command parser memory exhaustion denial-of-service
- GHSA ID
- GHSA-fv2f-rw9f-v9cm
- CVE ID
- CVE-2026-38728
- Severity
- high
- Published
- Updated
- CVSS v4
- 8.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Description
smtp-server prior to v3.18.3 are vulnerable to unauthenticated memory exhaustion denial-of-service. smtp-server's command parser allows any remote client to consume server memory by sending data without newline characters. The server's _remainder buffer in SMTPStream._write grows without limit, leading to heap exhaustion, prolonged GC pauses that freeze the event loop, and in some cases, process crash.
The _write method in lib/smtp-stream.js appends incoming TCP chunks to this._remainder in command mode. The buffer is only emptied when a newline is found. If a client never sends a newline, the _remainder value will grow indefinitely, causing excess memory consumption.
CWEs
- CWE-400 · Uncontrolled Resource Consumption
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-38728 ↗
- https://bytecreator.dev/blog/CVE-2026-38728 ↗
- https://github.com/nodemailer/smtp-server ↗
- https://github.com/nodemailer/smtp-server/releases/tag/v3.18.3 ↗
- https://github.com/nodemailer/smtp-server/commit/592c5666fa0c76d1d04c1a32abad0ef806fbfe97 ↗
- https://github.com/advisories/GHSA-fv2f-rw9f-v9cm ↗