CVE-2026-108358
Description
PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, XmlScanner::scan in src/PhpSpreadsheet/Reader/Security/XmlScanner.php uses a DOCTYPE detection pattern that accounts for NUL-byte interleaving but not ISO-2022 escape sequences in XLSX XML parts. The escape sequences prevent the scanner from matching the declaration, and XML charset normalization then removes the escape bytes before parsing, exposing a valid DOCTYPE and entity definitions. Processing an attacker-controlled XLSX can therefore cause entity-expansion denial of service on supported PHP versions and can permit local file access or SSRF on PHP before 8.0 or when LIBXML_NOENT is enabled. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0.
How to fix
- phpoffice/phpspreadsheet5.10.0, 3.10.8, 2.4.8, 2.1.19, 1.30.7 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| phpoffice/phpspreadsheetPackagist | 4.0.0 ≤ v < 5.10.0, 3.3.0 ≤ v < 3.10.8, 2.2.0 ≤ v < 2.4.8, 2.0.0 ≤ v < 2.1.19, v < 1.30.7 | 5.10.0, 3.10.8, 2.4.8, 2.1.19, 1.30.7 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.