Vulnerability · Published Oct 22, 2026 · Assigned by GitHub_M

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

High 8.7

In plain English

A high-severity uncontrolled resource consumption in PhpSpreadsheet from PHPOffice. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.7% (higher than 52% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 4.0)8.7High
Exploit odds (30 days)0.7%top 48.3% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official 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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Packagistphpoffice/phpspreadsheet5.10.0GHSA-j2w7-387v-m2rq
Packagistphpoffice/phpspreadsheet3.10.8GHSA-j2w7-387v-m2rq
Packagistphpoffice/phpspreadsheet2.4.8GHSA-j2w7-387v-m2rq
Packagistphpoffice/phpspreadsheet2.1.19GHSA-j2w7-387v-m2rq
Packagistphpoffice/phpspreadsheet1.30.7GHSA-j2w7-387v-m2rq

Affected products (as reported)

VendorProductVersions
PHPOffice PhpSpreadsheet < 1.30.7>= 2.0.0, < 2.1.19>= 2.2.0, < 2.4.8>= 3.3.0, < 3.10.8>= 4.0.0, < 5.10.0

Weakness: CWE-400, CWE-789 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

References