CVE Catalog

CVE-2026-108359

HighCVSS 8.7
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.41%

35th percentile - higher than 35% 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, Ods::processTableRow accepts an unbounded table:number-rows-repeated attribute from an ODS table row. When the row contains a value, the reader materializes a cell for every repetition without checking the row limit, so a small ODS file can consume substantial CPU and memory and terminate the PHP worker.

Risk Assessment

An attacker can supply a crafted ODS file that causes resource exhaustion and unavailability of the spreadsheet-processing application. Services accepting ODS files from users 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 ODS files.

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, Ods::processTableRow in src/PhpSpreadsheet/Reader/Ods.php accepts an unbounded table:number-rows-repeated attribute from an ODS table row. When the row contains a value, the reader materializes a cell for every repetition without checking the spreadsheet row limit, so a small attacker-controlled ODS file can consume substantial CPU and memory and terminate the PHP worker. Column repetition is separately bounded and is not part of this vulnerability. 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