Description
Email::Sender::Transport::Sendmail versions before 2.602 for Perl allow arbitrary command execution on Windows sending a message whose envelope address reaches the shell in _sendmail_pipe.

On MSWin32 the envelope sender and every recipient go into a single command string, which open() passes to a shell. Every other platform gets the list form, which runs sendmail directly. When the caller supplies no envelope, Email::Sender::Simple takes the recipients from the To and Cc headers and the sender from the From header.

An attacker who controls one of those header addresses runs commands as the sending process.
Published: 2026-09-21
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Arbitrary Command Execution
Action: Immediate Patch
AI Analysis

Impact

Email::Sender::Transport::Sendmail versions before 2.602 on Windows build a single shell command that includes the envelope sender and all recipient addresses from the message headers. Because that command is passed directly to the operating system shell with no filtering, an attacker who can control any of those header fields can inject shell metacharacters and cause the transport to execute arbitrary commands. This is a classic command‑injection weakness described by CWE‑78, giving the attacker control over the Perl process executing the sendmail transport.

Affected Systems

The flaw affects systems that use the Perl module Email::Sender with the Sendmail transport on Windows where the application builds the command string from header values. Versions of the module older than 2.602 are vulnerable. Any deployment that relies on the default behavior of Email::Sender::Simple, which pulls envelope information from the To, Cc, or From headers, is exposed because those values may be untrusted. No additional version details are provided beyond the pre‑2.602 cutoff.

Risk and Exploitability

The CVSS score of 9.8 marks this a critical vulnerability. The EPSS score is reported as less than 1%, indicating that exploitation events are currently uncommon but not impossible. The vulnerability is not listed in the CISA KEV catalog. Because an attacker needs only to send a crafted message with malicious header values, the attack path is straightforward: the message is parsed, the command string is assembled, and the shell executes the injected payload, allowing the attacker to run arbitrary commands under the privileges of the user running the Perl script.

Generated by OpenCVE AI on September 22, 2026 at 22:11 UTC.

Remediation

Vendor Solution

Upgrade to Email-Sender 2.602 or later.


Vendor Workaround

For Windows deployments that cannot upgrade to Email-Sender 2.602, use a transport that does not build a command line, such as Email::Sender::Transport::SMTP.


OpenCVE Recommended Actions

  • Apply the official patch by upgrading Email::Sender to version 2.602 or later.
  • If upgrading is not feasible, replace the Sendmail transport with a transport that does not assemble a shell command, such as Email::Sender::Transport::SMTP.
  • If transport change is not possible, validate or sanitize any envelope or recipient addresses derived from the message headers before they are passed to the transport layer to remove shell metacharacters.

Generated by OpenCVE AI on September 22, 2026 at 22:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 22 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 21 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
References

Mon, 21 Sep 2026 19:45:00 +0000

Type Values Removed Values Added
First Time appeared Rjbs
Rjbs email::sender::transport:sendmail
Vendors & Products Rjbs
Rjbs email::sender::transport:sendmail

Mon, 21 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
Description Email::Sender::Transport::Sendmail versions before 2.602 for Perl allow arbitrary command execution on Windows sending a message whose envelope address reaches the shell in _sendmail_pipe. On MSWin32 the envelope sender and every recipient go into a single command string, which open() passes to a shell. Every other platform gets the list form, which runs sendmail directly. When the caller supplies no envelope, Email::Sender::Simple takes the recipients from the To and Cc headers and the sender from the From header. An attacker who controls one of those header addresses runs commands as the sending process.
Title Email::Sender::Transport::Sendmail versions before 2.602 for Perl allow arbitrary command execution on Windows sending a message whose envelope address reaches the shell in _sendmail_pipe
Weaknesses CWE-78
References

Subscriptions

Rjbs Email::sender::transport:sendmail
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-09-22T19:26:34.492Z

Reserved: 2026-09-17T14:38:04.344Z

Link: CVE-2026-93012

cve-icon Vulnrichment

Updated: 2026-09-21T20:07:25.460Z

cve-icon NVD

Status : Deferred

Published: 2026-09-21T18:17:16.137

Modified: 2026-09-22T20:17:11.867

Link: CVE-2026-93012

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-22T22:15:07Z

Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')