CVE-2026-108359

PhpSpreadsheet ODS Reader: Unbounded number-rows-repeated → CPU & Memory Exhaustion (DoS)

State
Published
Severity
8.7 High
Published
Oct 22, 2026
Updated
Oct 29, 2026
Reserved
Oct 9, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
4.08.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NGitHub_M

Weaknesses

  • CWE-400 Uncontrolled Resource Consumption
  • CWE-789 Memory Allocation with Excessive Size Value

Affected Products

ProductVersions
PhpSpreadsheetPHPOffice
  • < 1.30.7Affected
  • >= 2.0.0, < 2.1.19Affected
  • >= 2.2.0, < 2.4.8Affected
  • >= 3.3.0, < 3.10.8Affected
  • >= 4.0.0, < 5.10.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.