CVE-2026-59933
published 2026-07-28CVE-2026-59933: PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. In versions 4.0.0 through 5.8.0, 3.3.0 through 3.10.6, 2.2.0 through 2.4.6…
PriorityP343high7.5CVSS 3.1
AVNACLPRNUINSUCNINAH
EPSS
0.38%
31.1th percentile
PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. In versions 4.0.0 through 5.8.0, 3.3.0 through 3.10.6, 2.2.0 through 2.4.6, 2.0.0 through 2.1.17, and all releases up to and including 1.30.5, the OLE reader follows sector chains from attacker-controlled XLS/OLE metadata without detecting cycles or enforcing a maximum chain length. A tiny malformed .xls/OLE file can set the small-block depot sector chain to point back to itself. During normal XLS detection, OLERead::read() appends the same sector data repeatedly until the PHP process exhausts memory. This is reachable from Reader\Xls::canRead() and therefore from automatic spreadsheet type detection. Applications that accept attacker-controlled spreadsheet uploads can suffer denial of service from a very small file. This issue has been fixed in versions 5.8.1, 3.10.7, 2.4.7, 2.1.18 and 1.30.6.
Affected
10 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| phpoffice | phpspreadsheet | < 1.30.6 | 1.30.6 |
| phpoffice | phpspreadsheet | — | — |
| phpoffice | phpspreadsheet | — | — |
| phpoffice | phpspreadsheet | — | — |
| phpoffice | phpspreadsheet | — | — |
| phpoffice | phpspreadsheet | >= 0 < 1.30.6 | 1.30.6 |
| phpoffice | phpspreadsheet | >= 2.0.0 < 2.1.18 | 2.1.18 |
| phpoffice | phpspreadsheet | >= 2.2.0 < 2.4.7 | 2.4.7 |
| phpoffice | phpspreadsheet | >= 3.3.0 < 3.10.7 | 3.10.7 |
| phpoffice | phpspreadsheet | >= 4.0.0 < 5.8.1 | 5.8.1 |
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.
VulDB
PHPOffice PhpSpreadsheet memory allocation
vuldb·2026-07-26
CVE-2026-59933 [LOW] PHPOffice PhpSpreadsheet memory allocation
A vulnerability, which was classified as problematic, has been found in PHPOffice PhpSpreadsheet. Affected is an unknown function. Performing a manipulation results in uncontrolled memory allocation.
This vulnerability is cataloged as CVE-2026-59933. The attack must originate from the local network. There is no exploit available.
It is advisable to upgrade the affected component.
GHSA
PHPSpreadsheet: XLS/OLE sector-chain self-loop causes memory exhaustion
ghsa·2026-07-23
CVE-2026-59933 [HIGH] CWE-400 PHPSpreadsheet: XLS/OLE sector-chain self-loop causes memory exhaustion
PHPSpreadsheet: XLS/OLE sector-chain self-loop causes memory exhaustion
## Summary
PhpSpreadsheet's OLE reader follows sector chains from attacker-controlled XLS/OLE metadata without detecting cycles or enforcing a maximum chain length. A tiny malformed `.xls`/OLE file can set the small-block depot sector chain to point back to itself. During normal XLS detection, `OLERead::read()` appends the same sector data repeatedly until the PHP process exhausts memory.
This is reachable from `Reader\Xls::canRead()` and therefore from automatic spreadsheet type detection. Applications that accept attacker-controlled spreadsheet uploads can suffer denial of service from a very small file.
## Vulnerability details
`OLERead::read()` loads the input and builds sector chains from attacker-controlled
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://github.com/PHPOffice/PhpSpreadsheet/commit/85f2556b0bf5269061bf45932ecda8a128d81750https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-xh5m-36r6-47m3https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-xh5m-36r6-47m3
2026-07-28
Published