---
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'
---

## Overview

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()` 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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **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)
