cbcvebase.
CVE-2026-40863
published 2026-05-12

CVE-2026-40863: 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 SpreadsheetML XML reader…

PriorityP341high7.5CVSS 3.1
AVNACLPRNUINSUCNINAH
EPSS
0.40%
31.4th percentile
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 SpreadsheetML XML reader (Reader\Xml) does not validate the ss:Index row attribute against the maximum allowed row count (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a SpreadsheetML XML file with ss:Index="999999999" on a element, which inflates the internal cachedHighestRow to ~1 billion. Any subsequent call to getRowIterator() without an explicit end row will attempt to iterate ~1 billion rows, causing CPU exhaustion and denial of service. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0.

Affected

14 ranges
VendorProductVersion rangeFixed in
phpofficephpspreadsheet< 1.30.41.30.4
phpofficephpspreadsheet
phpofficephpspreadsheet
phpofficephpspreadsheet
phpofficephpspreadsheet
phpofficephpspreadsheet>= 0 < 1.30.41.30.4
phpofficephpspreadsheet>= 2.0.0 < 2.1.162.1.16
phpofficephpspreadsheet>= 2.0.0 < 2.1.162.1.16
phpofficephpspreadsheet>= 2.2.0 < 2.4.52.4.5
phpofficephpspreadsheet>= 2.2.0 < 2.4.52.4.5
phpofficephpspreadsheet>= 3.3.0 < 3.10.53.10.5
phpofficephpspreadsheet>= 3.3.0 < 3.10.53.10.5
phpofficephpspreadsheet>= 4.0.0 < 5.7.05.7.0
phpofficephpspreadsheet>= 4.0.0 < 5.7.05.7.0
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.