Nodemailer (npm package nodemailer) versions 9.1.0 and earlier do not honor the disableFileAccess and disableUrlAccess sandbox options when message… (CVE-2026-92595)
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.
AI Analysis
Technical 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() using the legacy three-argument signature resolveContent(data, key, callback). The internal implementation normalizes the missing options argument to an empty object, discarding message-level flags and skipping access-control checks. This leads to the ability to read arbitrary local files or perform server-side request forgery via nmfetch(url) or fs.createReadStream(path). The internal paths used by transporter.sendMail() are not affected. The vulnerability is fixed in version 9.1.1.
Potential Impact
An attacker or malicious plugin that can invoke the legacy resolveContent API with untrusted message content may bypass sandbox restrictions, leading to arbitrary local file reads or outbound HTTP(S) requests (server-side request forgery). This can result in exposure of sensitive local files or unauthorized network requests. The vulnerability does not affect the internal message sending paths of Nodemailer.
Mitigation Recommendations
Upgrade Nodemailer to version 9.1.1 or later where this issue is fixed. Until then, avoid using the legacy three-argument resolveContent API with untrusted message content or disable the affected plugin features. No other official fixes or workarounds are documented.
Nodemailer (npm package nodemailer) versions 9.1.0 and earlier do not honor the disableFileAccess and disableUrlAccess sandbox options when message… (CVE-2026-92595)
Description
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.
CVSS v3.1
Score 5.9medium
Affected software
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
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 legacy three-argument signature resolveContent(data, key, callback). The internal implementation normalizes the missing options argument to an empty object, discarding message-level flags and skipping access-control checks. This leads to the ability to read arbitrary local files or perform server-side request forgery via nmfetch(url) or fs.createReadStream(path). The internal paths used by transporter.sendMail() are not affected. The vulnerability is fixed in version 9.1.1.
Potential Impact
An attacker or malicious plugin that can invoke the legacy resolveContent API with untrusted message content may bypass sandbox restrictions, leading to arbitrary local file reads or outbound HTTP(S) requests (server-side request forgery). This can result in exposure of sensitive local files or unauthorized network requests. The vulnerability does not affect the internal message sending paths of Nodemailer.
Mitigation Recommendations
Upgrade Nodemailer to version 9.1.1 or later where this issue is fixed. Until then, avoid using the legacy three-argument resolveContent API with untrusted message content or disable the affected plugin features. No other official fixes or workarounds are documented.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-5635-p6jj-6g9p
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-92595"]
- Database Specific Severity
- MODERATE
- Cvss Version
- 3.1
Threat ID: 6aab494355bf5e2cf59903ef
Added to database: 09/17/2026, 01:58:27 UTC
Last enriched: 09/17/2026, 02:01:55 UTC
Last updated: 09/17/2026, 02:31:47 UTC
Views: 4
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.