Skip to main content

nodemailer CVE-2026-82659

| EUVDEUVD-2026-68437 HIGH
External Control of File Name or Path (CWE-73)
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to application email API
  2. Delivery
    Supply crafted raw message object with file path or internal URL
  3. Exploit
    Application passes raw option to nodemailer with sandbox flags set
  4. Execution
    MimeNode constructed without disableFileAccess/disableUrlAccess
  5. Persist
    nodemailer fetches file or HTTP response via _getStream()
  6. Impact
    Exfiltrated content delivered as RFC822 message body to attacker-controlled recipient

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File name/path control
Exploitation Conditions

Exploitation requires all of the following: (1) the target application uses nodemailer version 9.0.0 or earlier; (2) the application has set disableFileAccess: true or disableUrlAccess: true on the nodemailer transport or message options to sandbox untrusted input; (3) an attacker-controlled value can reach the message-level raw option - specifically an object with a path property (for file read) or an href property (for SSRF); and (4) the attacker has authenticated access to trigger the email-sending code path. Exploitation is strictly bounded to arbitrary local file read and full-response SSRF delivered in the outgoing message - no remote code execution is possible. Applications that do not expose the raw option to untrusted callers, do not rely on the sandbox flags for security enforcement, or validate the raw option's shape before passing it to nodemailer are not exploitable.

Impact

The CVSS 4.0 base vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N) signals a network-accessible, low-complexity, low-privilege flaw with high confidentiality impact. Real-world exploitability is conditional: the application must (1) use nodemailer <= 9.0.0, (2) have set disableFileAccess or disableUrlAccess to enforce a sandbox on untrusted user content, and (3) allow attacker-controlled data to reach the raw message option. Applications that do not expose raw to untrusted callers are unaffected. No EPSS score was provided, and the vulnerability is absent from CISA KEV, suggesting no observed mass exploitation at time of analysis. However, a local PoC is confirmed by the GHSA advisory, and the attack pattern is straightforward, lowering the practical barrier. Given nodemailer's enormous deployment footprint, any application relying on the sandbox flags for multi-tenant or user-generated-content scenarios faces meaningful risk and should treat patching as urgent.

Exploit ScenarioDerived

An authenticated user of a multi-tenant email platform supplies a crafted message body with raw: { path: '/etc/passwd' } or raw: { href: 'http://169.254.169.254/latest/meta-data/iam/security-credentials/' } to the application's email API. The application passes this to nodemailer with disableFileAccess: true and disableUrlAccess: true set, expecting the sandbox to block the read - but the raw MimeNode is built without these flags, so nodemailer fetches the file or URL and delivers its full contents as the email body to the attacker's own mailbox. A local PoC confirming this behavior is referenced in GHSA-p6gq-j5cr-w38f.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 public PoC Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAI

Sandbox bypass in nodemailer <= 9.0.0 exposes arbitrary file read and full-response SSRF to any authenticated application user whose input reaches the message-level raw option. The disableFileAccess and disableUrlAccess flags - intended to sandbox untrusted message data - are correctly threaded through all other content node builders but are silently omitted when a MimeNode is constructed for a raw message in lib/mail-composer/index.js:34-35, leaving the raw path completely unrestricted. Exfiltrated file contents or HTTP response bodies are delivered as the actual RFC822 message via every supported transport (SMTP, SES, sendmail, stream, JSON) to an attacker-controlled recipient. A local PoC is confirmed per GHSA-p6gq-j5cr-w38f; no KEV listing and no EPSS data are available.

RemediationAI

Vendor-released patch: 9.0.1. Upgrade nodemailer to version 9.0.1 or later, which corrects the root node builder at lib/mail-composer/index.js:34-35 to thread disableFileAccess and disableUrlAccess into the raw MimeNode constructor, consistent with all other content node builders. The full advisory with patch details is at https://github.com/nodemailer/nodemailer/security/advisories/GHSA-p6gq-j5cr-w38f. If immediate patching is blocked, the most effective compensating control is to sanitize or reject any attacker-supplied value for the raw option before it reaches nodemailer - specifically stripping or refusing objects containing path or href properties. Alternatively, applications can avoid exposing the raw option entirely to untrusted callers. Note that neither disableFileAccess nor disableUrlAccess provide protection against this code path in unpatched versions, so relying on those flags alone as a workaround is explicitly insufficient.

Affected VersionsENISA

nodemailer 0 <9.0.1

Affected Packages

npm nodemailer fix: 9.0.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

nodemailer is the dominant Node.js email library (CPE: cpe:2.3:a:nodemailer:nodemailer:*:*:*:*:*:*:*:*), widely used to compose and dispatch RFC822 messages across multiple transports. CWE-73 (External Control of File Name or Path) is the root cause class: the MailComposer.compile() method at lib/mail-composer/index.js:34-35 constructs a root MimeNode for raw messages passing only { newline } as options, while all sibling builders (_createMixed, _createAlternative, _createRelated, _createContentNode) explicitly propagate disableUrlAccess and disableFileAccess. Because MimeNode (lib/mime-node/index.js:51-52) derives these flags solely from its own constructor options and createChild/appendChild (lines 175-194) do not inherit a parent's flags, the raw node's setRaw() call resolves file paths and URLs through _getStream() with no sandboxing. The fetched bytes become the actual message body delivered by all transports, making this strictly higher-impact than the previously published jsonTransport advisory GHSA-wqvq-jvpq-h66f, which was limited to the locally returned JSON.

Know when Nodemailer gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.1 HIGH

Network-reachable with low privilege required (authenticated application user); high confidentiality impact from arbitrary file read, low integrity impact from SSRF; no scope change as subsequent systems receive data rather than being compromised.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 7.1 HIGH

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVE Published
Aug 31, 2026 - 10:50 cve.org
HIGH 7.1
Patch available
Aug 31, 2026 - 10:16 EUVD

DescriptionCVE.org

nodemailer before 9.0.1 fails to apply disableFileAccess and disableUrlAccess flags to message-level raw option, allowing authenticated attackers to read arbitrary files or perform server-side request forgery by supplying path or href properties. Attackers can exploit this by crafting raw messages with file paths or URLs that bypass the intended sandbox, with fetched content delivered in the outgoing message to attacker-controlled recipients.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 67 npm packages depend on nodemailer (32 direct, 37 indirect)

Ecosystem-wide dependent count for version 9.0.1.

Technical POC Analysis

Bug class: CWE-73 (External Control of File Name or Path), with the URL variant also mapped to CWE-918 (SSRF).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 public PoC link from github

Sign in to open the public PoC links collected for this CVE.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
High
dominant Node.js email library, tens of millions of weekly npm downloads
Threat Intel
1
1 sources
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

56
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

CVE-2020-7769 CRITICAL POC
9.8 Nov 12

This affects the package nodemailer before 6.4.16. Rated critical severity (CVSS 9.8), this vulnerability is remotely ex

CVE-2021-23400 HIGH POC
8.8 Jun 29

The package nodemailer before 6.6.1 are vulnerable to HTTP Header Injection if unsanitized user input that may contain n

CVE-2026-90776 HIGH POC
8.7 Sep 13

Quadratic time complexity in Nodemailer's addressparser component, versions 9.1.0 through 10.0.4, allows remote unauthen

CVE-2025-14874 HIGH POC
7.5 Dec 18

Unbounded recursion in Nodemailer's address parser (npm package versions 3.0.0 through 7.0.10) allows a single crafted e

CVE-2026-82854 CRITICAL
9.3 Aug 31

SMTP command injection in Nodemailer before 8.0.4 lets attackers smuggle arbitrary SMTP verbs (notably RCPT TO) into out

CVE-2026-100700 HIGH
8.7 Sep 26

Denial of service in Nodemailer versions before 10.0.6 lets remote, unauthenticated attackers stall the Node.js event lo

CVE-2026-82662 HIGH
8.3 Aug 31

TLS certificate verification is disabled by hardcoded `rejectUnauthorized: false` in Nodemailer's internal HTTPS fetch c

CVE-2026-100702 HIGH
8.2 Sep 26

Stack exhaustion in Nodemailer before 10.0.2 allows unauthenticated remote attackers to crash an affected Node.js proces

CVE-2026-82853 MEDIUM
6.9 Aug 31

SMTP command injection in Nodemailer (npm) versions up to and including 8.0.4 allows an attacker who can influence the t

CVE-2026-100699 MEDIUM
6.9 Sep 26

Remote, unauthenticated attackers can exploit mis-parsing of recipient addresses in Nodemailer versions 9.1.0 through 10

CVE-2026-100701 MEDIUM
6.0 Sep 26

TLS certificate validation bypass in Nodemailer 5.0.0 through 10.0.1 allows an attacker who can prime a process-global D

CVE-2026-82661 MEDIUM
5.3 Aug 31

CRLF injection in Nodemailer's List-* header construction allows any application-level user with control over list comme

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise Micro 5.3 Affected
SUSE Linux Enterprise Micro 5.4 Affected
SUSE Linux Enterprise Micro 5.5 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy