CVE-2008-5619 — phpmailer
Fix: PHPMailer/PHPMailer@8beacc6CVE-2008-5619 is a Code Injection vulnerability in phpmailer/phpmailer. 4 public exploit or proof-of-concept references are indexed, so weaponization risk is real. A fix is available for phpmailer/phpmailer — see the affected versions and patch details below.
PHPMailer susceptible to arbitrary code execution
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
phpmailer/phpmailerReal-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
html2text.php in Chuggnutt HTML to Text Converter, as used in PHPMailer before 5.2.10, RoundCube Webmail (roundcubemail) 0.2-1.alpha and 0.2-3.beta, Mahara, and AtMail Open 1.03, allows remote attackers to execute arbitrary code via crafted input that is processed by the preg_replace function with the eval switch.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | phpmailer/phpmailer | all versions | 5.2.10composer require phpmailer/phpmailer:^5.2.10 |
Affected Products
webmailroundcubeResearch use only. For defensive security, authorized penetration testing, and academic research only. Never execute exploit code against systems without explicit written authorization.
Roundcube Webmail 0.2-3 Beta - Code Execution
by Jacobo Avariento · Dec 22, 2008
Roundcube Webmail 0.2b - Remote Code Execution
by Hunger · Dec 22, 2008
Detection & mitigation playbook
Open-source dependencyDetect
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.
Fix
Update phpmailer/phpmailer to 5.2.10 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2008-5619 is resolved across your whole dependency graph.
Workarounds
Stop passing untrusted input into the interpreter or shell: call the affected binary with an argument array rather than a composed command string, reject anything outside a strict allowlist of expected values, and run the component under an account that cannot reach beyond the work it legitimately does.
Frequently Asked Questions
Is CVE-2008-5619 in your dependencies?
Find it across Packagist, including transitive dependencies.