Back to list

PhpSpreadsheet has CPU Denial of Service via Unbounded Row Number in XLSX Row Dimensions — CVE-2026-40902

GitHub · GitHub · CVE-2026-40902

ID
CVE-2026-40902
Date
Updated
Activity
Source
GitHub
Vendor
GitHub
Threat
high
CVSS
7.5
EPSS
0.0004

Summary

## Summary The XLSX reader's `ColumnAndRowAttributes::readRowAttributes()` method reads row numbers from XML attributes without validating them against the spreadsheet maximum row limit (`AddressRange::MAX_ROW = 1,048,576`). An attacker can craft a minimal XLSX file (~1.6KB) containing a `<row r="999999999"/>` element that inflates `cachedHighestRow` to 999,999,999, causing any subsequent row iteration to attempt…

Product

composer: phpoffice/phpspreadsheet

What to do

General, cautious steps (verify details in the official source):

  • Prioritize patching or mitigation immediately (treat as actively risky).
  • Identify affected product versions in your inventory and verify whether you are impacted.
  • Apply vendor patches/updates or recommended mitigations as soon as available.
  • Read the official advisory for exact affected versions and remediation steps.

Official advisory

Related advisories