CVE Catalog

CVE-2026-108357

HighCVSS 8.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.29%

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

Summary

In PhpSpreadsheet from 3.3.0 until 3.10.8 and 5.10.0, Reader\Xml passes stored SpreadsheetML XML through XmlScanner::scan, while Xml::unentity decodes numeric entities only after each DOCTYPE pattern check. A double-encoded less-than character is reduced to a literal less-than sign, so SimpleXML receives an unchecked DOCTYPE and entity declaration.

Risk Assessment

Processing crafted SpreadsheetML XML 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 SpreadsheetML files are at risk.

Recommendation

Upgrade PhpSpreadsheet to version 3.10.8 or 5.10.0 (or later). Until then, limit processing of untrusted SpreadsheetML 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. From 3.3.0 until 3.10.8 and 5.10.0, Reader\Xml passes stored SpreadsheetML XML through XmlScanner::scan in Xml::canRead and Xml::trySimpleXMLLoadStringPrivate, while Xml::unentity decodes numeric entities only after each DOCTYPE pattern check. A double-encoded less-than character is reduced by the first callback to another encoded character and by the second callback to a literal less-than sign, so SimpleXML receives an unchecked DOCTYPE and entity declaration. Processing attacker-controlled SpreadsheetML XML can cause entity-expansion denial of service 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 3.10.8 and 5.10.0.

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