PT-2024-31546 · Unknown · Phpspreadsheet
0Xshade
+2
·
Published
2024-10-07
·
Updated
2025-03-07
·
CVE-2024-45293
CVSS v4.0
8.7
High
| Vector | AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
Name of the Vulnerable Software and Affected Versions
PHPSpreadsheet versions prior to 1.29.1
PHPSpreadsheet versions prior to 2.1.1
PHPSpreadsheet versions prior to 2.3.0
Description
The security scanner in PHPSpreadsheet's XLSX reader can be bypassed by modifying the XML structure using white-spaces, allowing for sensitive information disclosure through XXE attacks on servers that permit users to upload their own Excel sheets. The
toUtf8 function in src/PhpSpreadsheet/Reader/Security/XmlScanner.php contains a flawed XML encoding check, defaulting to UTF-8 encoding if the encoding is not found, which can be exploited by passing a UTF-7 encoded XXE payload. This issue can be used to disclose server files and sensitive information by providing a crafted Excel sheet.Recommendations
For PHPSpreadsheet versions prior to 1.29.1, upgrade to version 1.29.1 or later.
For PHPSpreadsheet versions prior to 2.1.1, upgrade to version 2.1.1 or later.
For PHPSpreadsheet versions prior to 2.3.0, upgrade to version 2.3.0 or later.
As a temporary workaround, consider restricting the upload of Excel sheets or disabling the use of PHPSpreadsheet's Excel parser until a patch is applied.
Exploit
Fix
XXE
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Phpspreadsheet