{"id":"CVE-2026-38728","aliases":["GHSA-fv2f-rw9f-v9cm"],"url":"https://o3.security/vulnerability/CVE-2026-38728","summary":"smtp-server's command parser memory exhaustion denial-of-service","details":"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.\n\nThe `_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.","published":"2026-05-15T00:00:00Z","modified":"2026-08-12T03:51:41.306428929Z","cvss":{"score":7.5,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},"epss":{"score":0.00572,"percentile":0.44382,"asOf":"2026-08-13"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"smtp-server","fixedVersion":"3.18.3"}],"fix":{"url":"https://github.com/nodemailer/smtp-server/commit/592c5666fa0c76d1d04c1a32abad0ef806fbfe97","label":"nodemailer/smtp-server@592c566"},"references":[{"type":"WEB","url":"https://github.com/nodemailer/smtp-server/releases/tag/v3.18.3"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/38xxx/CVE-2026-38728.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-38728"},{"type":"PACKAGE","url":"https://github.com/nodemailer/smtp-server"},{"type":"ARTICLE","url":"https://bytecreator.dev/blog/CVE-2026-38728"},{"type":"WEB","url":"https://github.com/nodemailer/smtp-server/commit/592c5666fa0c76d1d04c1a32abad0ef806fbfe97"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:41.306428929Z"}}