CVE Catalog

CVE-2026-40902

High
Published: Translated: NVD NIST

Summary

In the PhpSpreadsheet library prior to versions 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, there is a vulnerability in the ColumnAndRowAttributes::readRowAttributes() method that does not validate row numbers in XLSX files against the maximum row limit. An attacker can craft an XLSX file that causes excessive CPU load during row iteration.

Risk Assessment

This vulnerability can lead to CPU resource exhaustion, potentially affecting the availability of applications using this library. It may result in a denial of service (DoS) in production systems.

Recommendation

It is recommended to update the PhpSpreadsheet library 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 XLSX reader's ColumnAndRowAttributes::readRowAttributes() method reads row numbers from XML attributes without validating them against the spreadsheet maximum row limit (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a minimal XLSX file (~1.6KB) containing a <row r="999999999"/> element that inflates cachedHighestRow to 999,999,999, causing any subsequent row iteration to attempt ~1 billion loop cycles and exhaust CPU resources. 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