GHSA-7c6m-4442-2x6m · Severity: high · Ecosystem: composer — PhpSpreadsheet has CPU Denial of Service via Unbounded Row Number in XLSX Row Dimensions
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 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 ~1 billion loop cycles and exhaust CPU resources. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0.
Conclusion & alert: CVE-2026-40902 is rated Exploit Available (51/100): CVSS High severity, with low exploitation likelihood (EPSS 0.06%). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
| EDB-ID | Source | Kind | Published | Link |
|---|---|---|---|---|
| — | nvd_ref | exploit_tag | Exploit-DB ↗ |
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-05-18 | 0.04% | 0.06% | +0.02% |
| 2 | 2026-05-13 | — | 0.04% | — |
Full EPSS history (2 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 7.5 | 3.1 | HIGH |
|
3.9 | 3.6 | [email protected] |
GHSA-7c6m-4442-2x6m · Severity: high · Ecosystem: composer — PhpSpreadsheet has CPU Denial of Service via Unbounded Row Number in XLSX Row Dimensions
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| phpoffice | phpspreadsheet | < 1.30.4 | cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:* |
| phpoffice | phpspreadsheet | >= 2.0.0, < 2.1.16 | cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:* |
| phpoffice | phpspreadsheet | >= 2.2.0, < 2.4.5 | cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:* |
| phpoffice | phpspreadsheet | >= 3.3.0, < 3.10.5 | cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:* |
| phpoffice | phpspreadsheet | >= 4.0.0, < 5.7.0 | cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:* |
| URL | Tags |
|---|---|
| https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-7c6m-4442-2x6m | Exploit Mitigation Vendor Advisory |