{"id":"CVE-2026-92595","title":"Nodemailer (npm package `nodemailer`) versions 9.1.0 and earlier do not honor the `disableFileAccess` and `disableUrlAccess` sandbox options when message content is resolved through the public plugin API `MailMessage.resolveContent()` us…","summary":"Nodemailer (npm package `nodemailer`) versions 9.1.0 and earlier do not honor the `disableFileAccess` and `disableUrlAccess` sandbox options when message content is resolved through the public plugin API `MailMessage.resolveContent()` us…","severity":"medium","cvss":5.9,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N","cwe":["CWE-73","CWE-918"],"vendor":"nodemailer","product":"nodemailer","affected":["nodemailer < 9.1.1"],"published":"2026-09-16","updated":"2026-09-22","sourceUpdated":"2026-09-22T20:25:55.870","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-92595","references":[{"url":"https://github.com/nodemailer/nodemailer/security/advisories/GHSA-8m3c-c648-2xjj","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/nodemailer-before-9.1.1-security-sandbox-bypass-via-resolvecontent","label":"disclosure@vulncheck.com"},{"url":"https://github.com/nodemailer/nodemailer/security/advisories/GHSA-8m3c-c648-2xjj","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-92595.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-92595"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2539025"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-92595"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-92595"}],"tags":["nvd","cve.org","exploit-available","csaf","vex","red-hat"],"epss":0.00295,"epssPercentile":0.22076,"exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"partial","timestamp":"2026-09-19T02:05:02.570496Z"},"ingestedAt":"2026-09-16T22:06:50.929Z","slug":"CVE-2026-92595","body":"## Overview\n\nNodemailer (npm package `nodemailer`) versions 9.1.0 and earlier do not honor the `disableFileAccess` and `disableUrlAccess` sandbox options when message content is resolved through the public plugin API `MailMessage.resolveContent()` using the documented legacy three-argument signature `resolveContent(data, key, callback)`. Because `shared.resolveContent()` normalizes the missing `options` argument to an empty object, the message-level flags copied into `mail.data` by the MailMessage constructor are discarded, and `resolveContentValue()` skips both access-control checks, reaching `nmfetch(url)` or `fs.createReadStream(path)`. As a result, plugin or application code that resolves untrusted message content (html, text, attachment `path` or `href`) via this API can be induced to read arbitrary local files or issue outbound HTTP(S) requests (server-side request forgery), bypassing the sandbox the application enabled. The internal paths used by `transporter.sendMail()` (`resolveAll()`, `_convertDataImages()`, and the MIME streaming path) are not affected. Fixed in version 9.1.1.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Vendor advisories\n\n- **Red Hat VEX** · Moderate · affected: Red Hat Developer Hub, Red Hat Enterprise Linux 10, Self-service automation portal 2 · no fix planned: Red Hat Developer Hub, Red Hat Enterprise Linux 10, Self-service automation portal 2 · updated 2026-09-24 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-92595.json)","depth":"twilight","depthScore":45,"depthScoreParts":{"impact":32.5,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":207583,"id":"CVE-2026-92595","ts":1789786630237,"field":"exploit_available","old":"false","new":"true"}]}