GitHub Advisoryadvisory · Packagist
GHSA-m298-fh5c-jc66 Object injection in PHPMailer/PHPMailer
CRITICAL
Official page ↗
- Aliases
- CVE-2020-36326
- 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-502, CWE-641
- Reviewed
- 2021-04-30
Affected packages
• Packagist phpmailer/phpmailer: >= 6.1.8, < 6.4.1 → fixed in 6.4.1
Description
Impact
This is a reintroduction of an earlier issue (CVE-2018-19296) by an unrelated bug fix in PHPMailer 6.1.8. An external file may be unexpectedly executable if it is used as a path to an attachment file via PHP's support for `.phar` files. Exploitation requires that an attacker is able to provide an unfiltered path to a file to attach, or to trick calling code into generating one. See this article for more info.
Patches
This issue was patched in the PHPMailer 6.4.1 release. This release also implements stricter filtering for attachment paths; paths that look like *any* kind of URL are rejected.
Workarounds
Validate paths to loaded files using the same pattern as used in `isPermittedPath()` before using them in *any* PHP file function, such as `file_exists`. This method can't be used directly because it is protected, but you can implement the same thing in calling code. Note that this should be applied to *all* user-supplied paths passed into such functions; it's not a problem specific to PHPMailer.
Credit
This issue was found by Fariskhi Vidyan, reported and managed via Tidelift.
Related
Alias · CVE (1)
- CVE-2020-36326 PHPMailer 6.1.8 through 6.4.0 allows object injection through Phar Deserialization via addAttachment with a UNC pathname. vulnerability
References
- https://github.com/PHPMailer/PHPMailer/security/advisories/GHSA-m298-fh5c-jc66 web
- https://nvd.nist.gov/vuln/detail/CVE-2020-36326 advisory
- https://github.com/PHPMailer/PHPMailer/commit/e2e07a355ee8ff36aba21d0242c5950c56e4c6f9 web
- https://github.com/FriendsOfPHP/security-advisories/blob/master/phpmailer/phpmailer/CVE-2020-36326.yaml web
- https://github.com/PHPMailer/PHPMailer package
- https://github.com/PHPMailer/PHPMailer/releases/tag/v6.4.1 web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/3B5WDPGUFNPG4NAZ6G4BZX43BKLAVA5B web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/KPU66INRFY5BQ3ESVPRUXJR4DXQAFJVT web