CVE Catalog

CVE-2026-40863

High
Published: Translated: NVD NIST

Summary

PhpSpreadsheet is a PHP library for reading and writing spreadsheet files. In versions prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the SpreadsheetML XML reader does not validate the ss:Index row attribute against the maximum allowed row count, which can lead to CPU exhaustion and denial of service.

Risk Assessment

An attacker can craft an XML file that causes an attempt to iterate through ~1 billion rows, leading to CPU exhaustion and service denial. Organizations using this library are vulnerable to denial of service attacks.

Recommendation

It is recommended to update PhpSpreadsheet to versions 1.30.4, 2.1.16, 2.4.5, 3.10.5, or 5.7.0 to mitigate this vulnerability.

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.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the SpreadsheetML XML reader (Reader\Xml) does not validate the ss:Index row attribute against the maximum allowed row count (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a SpreadsheetML XML file with ss:Index="999999999" on a <Row> element, which inflates the internal cachedHighestRow to ~1 billion. Any subsequent call to getRowIterator() without an explicit end row will attempt to iterate ~1 billion rows, causing CPU exhaustion and denial of service. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0.

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