GitHub Advisoryadvisory · Packagist
GHSA-4pc3-96mx-wwc8 Remote code execution in PHPMailer
CRITICAL
Official page ↗
- Aliases
- CVE-2016-10045
- Ecosystem
- Packagist
- Packages
- phpmailer/phpmailer
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-77
- Reviewed
- 2020-03-05
Affected packages
• Packagist phpmailer/phpmailer: >= 5.0.0, < 5.2.20 → fixed in 5.2.20
Description
Impact
The `isMail` transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the `mail` command and consequently execute arbitrary code by leveraging improper interaction between the `escapeshellarg` function and internal escaping performed in the mail function in PHP. NOTE: this vulnerability exists because of an incorrect fix for CVE-2016-10033.
This issue really emphasises that it's worth avoiding the built-in PHP `mail()` function entirely.
Patches
Fixed in 5.2.20
Workarounds
Send via SMTP to localhost instead of calling the `mail()` function.
References
https://nvd.nist.gov/vuln/detail/CVE-2016-10045
See also https://nvd.nist.gov/vuln/detail/CVE-2016-10033
For more information
If you have any questions or comments about this advisory:
• Open a private issue in the PHPMailer project
Related
Alias · CVE (1)
- CVE-2016-10045 The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail command and consequently… vulnerability
Weakness · CWE (1)
- CWE-77 Improper Neutralization of Special Elements used in a Command weakness
References
- https://github.com/PHPMailer/PHPMailer/security/advisories/GHSA-4pc3-96mx-wwc8 web
- https://nvd.nist.gov/vuln/detail/CVE-2016-10045 advisory
- https://developer.joomla.org/security-centre/668-20161205-phpmailer-security-advisory.html web
- https://github.com/FriendsOfPHP/security-advisories/blob/master/phpmailer/phpmailer/CVE-2016-10045.yaml web
- https://github.com/PHPMailer/PHPMailer package
- https://github.com/PHPMailer/PHPMailer/releases/tag/v5.2.20 web
- https://github.com/PHPMailer/PHPMailer/wiki/About-the-CVE-2016-10033-and-CVE-2016-10045-vulnerabilities web
- https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10045-Vuln-Patch-Bypass.html web
- https://www.exploit-db.com/exploits/40969 web
- https://www.exploit-db.com/exploits/40986 web
- https://www.exploit-db.com/exploits/42221 web
- http://openwall.com/lists/oss-security/2016/12/28/1 web
- http://packetstormsecurity.com/files/140286/PHPMailer-Remote-Code-Execution.html web
- http://packetstormsecurity.com/files/140350/PHPMailer-Sendmail-Argument-Injection.html web
- http://seclists.org/fulldisclosure/2016/Dec/81 web
- http://www.rapid7.com/db/modules/exploit/multi/http/phpmailer_arg_injection web