CVE Catalog

CVE-2026-108358

HighCVSS 8.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.39%

31th percentile - higher than 31% of all known CVEs

Summary

In PhpSpreadsheet before versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, XmlScanner::scan 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.

Risk Assessment

Processing a crafted XLSX can cause entity-expansion denial of service and, on PHP before 8.0 or when LIBXML_NOENT is enabled, permit local file access or SSRF. Applications processing untrusted XLSX files are at risk.

Recommendation

Upgrade PhpSpreadsheet to version 1.30.7, 2.1.19, 2.4.8, 3.10.8, or 5.10.0 (or later). Until then, limit processing of untrusted XLSX files and avoid enabling LIBXML_NOENT.

Other vulnerabilities in PhpSpreadsheet

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS