Remote code execution in PHPMailer
Impact
The mailSend function in the default isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra parameters to the mail command and consequently execute arbitrary code via a \" (backslash double quote) in a crafted Sender property.
Source excerpt · OSVAffected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
| Affected range | Recorded fix |
|---|---|
| From 5.0.0 before 5.2.18Ecosystem versions | 5.2.18 |
Version evidence: OSV · GHSA-5f37-gxvh-23v6
View original version evidence (15 explicit versions)
Original source description
Impact
The mailSend function in the default isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra parameters to the mail command and consequently execute arbitrary code via a " (backslash double quote) in a crafted Sender property.
Patches
Fixed in 5.2.18
Workarounds
Filter and validate user input before passing it to internal functions.
References
https://nvd.nist.gov/vuln/detail/CVE-2016-10033 Related to a follow-on issue in https://nvd.nist.gov/vuln/detail/CVE-2016-10045
For more information
If you have any questions or comments about this advisory:
- Open a private issue in the PHPMailer project
References
- Security advisory github.com/PHPMailer/PHPMailer/security/advisories/GHSA-5f37-gxvh-23v6
- Security advisory nvd.nist.gov/vuln/detail/CVE-2016-10033
- Public exploit reference www.exploit-db.com/exploits/42221
- Public exploit reference www.exploit-db.com/exploits/42024
- Public exploit reference www.exploit-db.com/exploits/41996
- Public exploit reference www.exploit-db.com/exploits/41962
- Public exploit reference www.exploit-db.com/exploits/40986
- Public exploit reference www.exploit-db.com/exploits/40974
- Public exploit reference www.exploit-db.com/exploits/40970
- Public exploit reference www.exploit-db.com/exploits/40969
- Public exploit reference www.exploit-db.com/exploits/40968
- Source reference www.drupal.org/psa-2016-004
- Security advisory www.cisa.gov/known-exploited-vulnerabilities-catalog
- Security advisory legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10033-Vuln.html
- Security advisory github.com/PHPMailer/PHPMailer/wiki/About-the-CVE-2016-10033-and-CVE-2016-10045-vulnerabilities
- Release notes github.com/PHPMailer/PHPMailer/releases/tag/v5.2.18
- Source reference github.com/PHPMailer/PHPMailer
- Security advisory github.com/FriendsOfPHP/security-advisories/blob/master/phpmailer/phpmailer/CVE-2016-10033.yaml
- Security advisory developer.joomla.org/security-centre/668-20161205-phpmailer-security-advisory.html
- Public exploit reference packetstormsecurity.com/files/140291/PHPMailer-Remote-Code-Execution.html
- Public exploit reference packetstormsecurity.com/files/140350/PHPMailer-Sendmail-Argument-Injection.html
- Source reference seclists.org/fulldisclosure/2016/Dec/78
- Source reference www.rapid7.com/db/modules/exploit/multi/http/phpmailer_arg_injection