Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
🐘
🐘 Packagist
Not in CISA KEV
HIGH severity

CVE-2021-34551 — phpmailer

HIGHFix: PHPMailer/PHPMailer@acd264b

CVE-2021-34551 is a high-severity (CVSS 8.1) Unrestricted File Upload vulnerability in phpmailer/phpmailer. A fix is available for phpmailer/phpmailer — see the affected versions and patch details below.

Remote Code Execution vulnerability in PHPMailer 6.4.1 running on Windows

Also known asBIT-phpmailer-2021-34551GHSA-7q44-r25x-wm4q
Published
Updated
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed
Exploitation data as of Oct 24, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

EPSS Exploitation Probability

via FIRST.org ↗
2.8%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs86th percentile — riskier than 86% of all scored CVEsHighest risk
1.61%2.17%2.74%3.30%2.1%2.8%Apr 26Aug 26Oct 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

CVE-2021-34551 by exploitation likelihood (EPSS) against impact (CVSS). Outside the shaded patch-first corner.

Where this sits among everything scored

Of 395,249 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Counts from FIRST.org, log-scaled.

Real-World Exposure

1 pkg affected
🐘phpmailer/phpmailer

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.

Description

PHPMailer 6.4.1 contains a possible remote code execution vulnerability through the $lang_path parameter of the setLanguage() method. If the $lang_path parameter is passed unfiltered from user input, it can be set to a UNC path, and if an attacker is also able to create a remote mount on the server that the UNC path points to, a script file under their control may be executed.

Impact

Arbitrary code may be run by a remote attacker under the web server or PHP process running on Window hosts.

Patches

Mitigated in PHPMailer 6.5.0 by no longer treating translation files as PHP code, but by parsing their text content directly. This approach avoids the possibility of executing unknown code while retaining backward compatibility. This isn't ideal, so the current translation format is deprecated and will be replaced in the next major release.

Workarounds

Any of:

  • Ensure that calling code does not pass unfiltered user-supplied data to the $lang_path parameter of the setLanguage() method.
  • Block or filter the use of unknown UNC paths in this parameter (or altogether).
  • Ensure that unauthorised users do not have the ability to read from unknown remote servers via UNC paths.
  • Run on an OS that does not support UNC paths

References

CVE-2021-34551.

Reported by listensec.com via Tidelift.

For more information

If you have any questions or comments about this advisory:

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
🐘Packagistphpmailer/phpmailerall versions6.5.0composer require phpmailer/phpmailer:^6.5.0

Affected Products

2 products · 3 configurations
OS
fedorafedoraproject
2 versions
3334
Application
phpmailerphpmailer_project
< 6.5.0
range

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for phpmailer/phpmailer, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update phpmailer/phpmailer to 6.5.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2021-34551 is resolved across your whole dependency graph.

  3. Workarounds

    Treat uploaded files as untrusted until proven otherwise: validate the actual content type rather than the supplied extension, store uploads outside the web root on a volume mounted without execute permission, and rename them to server-generated identifiers so an attacker cannot choose the path a request will later resolve.

Frequently Asked Questions

PHPMailer 6.4.1 contains a possible remote code execution vulnerability through the `$lang_path` parameter of the `setLanguage()` method. If the `$lang_path` parameter is passed unfiltered from user input, it can be set to [a UNC path](https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats#unc-paths), and if an attacker is also able to create a remote mount on the server that the UNC path points to, a script file under their control may be executed. ### Impact Arbitrary code may be run by a remote attacker under the web server or PHP process running on Window hosts. ### Patch
O3 Security · Impact-Aware SCA

Is CVE-2021-34551 in your dependencies?

Find it across Packagist, including transitive dependencies.

CVE-2021-34551: phpmailer RCE — Fixed in 6.5.0