All vulnerabilities
CVE-2026-108359GHSA-j2w7-387v-m2rq

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

PHPOffice PhpSpreadsheet
CVSS
8.7High
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.41%Chance of exploitation activity in the next 30 days, higher than 33% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed inNone listedNo source names a fixed version. Check the vendor advisory below
Published22 Oct 2026Updated 22 Oct 2026CVE List

What fixes it

No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.

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.

Text from CVE List

Affected versions 5

  • PhpSpreadsheetaffected: < 1.30.7CVE List
  • PhpSpreadsheetaffected: >= 2.0.0, < 2.1.19CVE List
  • PhpSpreadsheetaffected: >= 2.2.0, < 2.4.8CVE List
  • PhpSpreadsheetaffected: >= 3.3.0, < 3.10.8CVE List
  • PhpSpreadsheetaffected: >= 4.0.0, < 5.10.0CVE List

References 11