What’s Vulnerable › Vulnerabilities
CVE-2024-45046: PhpSpreadsheet HTML writer is vulnerable to Cross-Site Scripting via style information
- Severity: medium (CVSS 5.4 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2024-08-28 · updated 2026-06-17
- Weakness: CWE-79
Description
PHPSpreadsheet is a pure PHP library for reading and writing spreadsheet files. In affected versions `\PhpOffice\PhpSpreadsheet\Writer\Html` doesn't sanitize spreadsheet styling information such as font names, allowing an attacker to inject arbitrary JavaScript on the page. As a result an attacker may used a crafted spreadsheet to fully takeover a session of a user viewing spreadsheet files as HTML. This issue has been addressed in release version 2.1.0. All users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected products
- PHPOffice PhpSpreadsheet: before 1.29.1; from 2.0.0 before 2.1.0 — fixed in 1.29.1, 2.1.0
How to fix
Upgrade to a fixed version: PHPOffice PhpSpreadsheet 1.29.1, 2.1.0. Check the vendor advisory for mitigations.
References
- https://github.com/PHPOffice/PhpSpreadsheet/commit/f7cf378faed2e11cf4825bf8bafea4922ae44667
- https://github.com/PHPOffice/PhpSpreadsheet/pull/3957
- https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-wgmf-q9vr-vww6
Get alerted when CVE-2024-45046 or the next vulnerability affects your stack