{"id":"CVE-2026-38728","aliases":["EUVD-2026-30546","GHSA-fv2f-rw9f-v9cm"],"status":"published","title":"smtp-server's command parser memory exhaustion denial-of-service","description":"An issue in Nodemailer smtp_server before v.3.18.3 allows a remote attacker to cause a denial of service via the SMTPStream._write, lib/smtp-stream.js components","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-11","score":0.00572,"percentile":0.47758,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-400"],"published":"2026-05-15T00:00:00Z","modified":"2026-10-28T02:30:27Z","fixes":[{"ecosystem":"npm","package":"smtp-server","fixed_in":["3.18.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"smtp-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.18.3"}]}]},{"source":"osv","ecosystem":"npm","package":"smtp-server","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.18.3"}]}]}],"references":[{"url":"https://github.com/nodemailer/smtp-server","tags":["package"]},{"url":"https://github.com/nodemailer/smtp-server/releases/tag/v3.18.3","tags":["web"]},{"url":"https://bytecreator.dev/blog/CVE-2026-38728","tags":["exploit","article","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-38728","tags":["advisory"]},{"url":"https://github.com/nodemailer/smtp-server/commit/592c5666fa0c76d1d04c1a32abad0ef806fbfe97","tags":["web"]},{"url":"https://github.com/advisories/GHSA-fv2f-rw9f-v9cm"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/38xxx/CVE-2026-38728.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-38728","description":"An issue in Nodemailer smtp_server before v.3.18.3 allows a remote attacker to cause a denial of service via the SMTPStream._write, lib/smtp-stream.js components","status":"published","published":"2026-05-15T00:00:00Z","modified":"2026-05-15T15:28:53.678Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"adp"}],"cwes":["CWE-400"],"updated_at":"2026-11-02T14:19:58.560602Z"}],"euvd":[{"id":"EUVD-2026-30546","description":"An issue in Nodemailer smtp_server before v.3.18.3 allows a remote attacker to cause a denial of service via the SMTPStream._write, lib/smtp-stream.js components","status":"published","published":"2026-05-15T00:00:00Z","modified":"2026-05-15T15:28:53Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T19:04:28.290329Z"}],"ghsa":[{"id":"GHSA-fv2f-rw9f-v9cm","title":"smtp-server's command parser memory exhaustion denial-of-service","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.\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.","status":"published","published":"2026-05-15T15:30:45Z","modified":"2026-06-29T22:57:16Z","cvss":[{"version":"4.0","score":8.7,"vector":"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","level":"high"}],"cwes":["CWE-400"],"updated_at":"2026-11-02T14:40:35.701766Z"}],"nvd":[{"id":"CVE-2026-38728","description":"An issue in Nodemailer smtp_server before v.3.18.3 allows a remote attacker to cause a denial of service via the SMTPStream._write, lib/smtp-stream.js components","status":"published","published":"2026-05-15T15:16:51.197Z","modified":"2026-06-17T10:41:45.86Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-400"],"updated_at":"2026-11-02T14:12:19.39893Z"}],"osv":[{"id":"CVE-2026-38728","description":"An issue in Nodemailer smtp_server before v.3.18.3 allows a remote attacker to cause a denial of service via the SMTPStream._write, lib/smtp-stream.js components","status":"published","published":"2026-05-15T00:00:00Z","modified":"2026-10-28T02:30:27.066645135Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:03.040464Z"},{"id":"GHSA-fv2f-rw9f-v9cm","title":"smtp-server's command parser memory exhaustion denial-of-service","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.\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.","status":"published","published":"2026-05-15T15:30:45Z","modified":"2026-06-29T23:26:32.795552Z","cvss":[{"version":"4.0","score":8.7,"vector":"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","level":"high"}],"cwes":["CWE-400"],"updated_at":"2026-11-02T15:46:46.760785Z"}]}}
