CVE-2026-59933 Details
Description
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.
A denial-of-service vulnerability has been identified in PhpSpreadsheet 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 issue arises in the OLE reader, which follows sector chains from attacker-controlled XLS/OLE metadata without detecting cycles or enforcing a maximum chain length. A small, malformed .xls/OLE file can create a loop by pointing the small-block depot sector chain back to itself. This flaw allows the OLERead::read() function to append the same sector data repeatedly, exhausting the PHP process's memory. The vulnerability can be exploited through automatic spreadsheet type detection, causing denial-of-service in applications that accept attacker-controlled spreadsheet uploads.
Users can update to PhpSpreadsheet versions 5.8.1, 3.10.7, 2.4.7, 2.1.18, or 1.30.6, all of which include patches for this vulnerability.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Jul 28, 2026CISA-ADP
Assessed Jul 28, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-xh5m-36r6-47m3 | CISA-ADP | AdvisoryExploitRemedyVendor |
| https://github.com/PHPOffice/PhpSpreadsheet/commit/85f2556b0bf5269061bf45932ecda8a128d81750 | [email protected] | Source CodeVendor |
| https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6 | [email protected] | Release NotesVendor |
| https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18 | [email protected] | Release NotesVendor |
| https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7 | [email protected] | Release NotesVendor |
| https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7 | [email protected] | Release NotesVendor |
| https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1 | [email protected] | Release NotesVendor |
| https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-xh5m-36r6-47m3 | [email protected] | AdvisoryExploitRemedyVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-400 | Uncontrolled Resource Consumption | [email protected] |
| CWE-835 | Loop with Unreachable Exit Condition ('Infinite Loop') | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| PHPOffice PhpSpreadsheet | >= 4.0.0, <= 5.8.0 (semver) >= 3.3.0, <= 3.10.6 (semver) >= 2.2.0, <= 2.4.6 (semver) >= 2.0.0, <= 2.1.17 (semver) <= 1.30.5 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jul 28, 2026 | CVE Modified | CISA-ADP |
| Jul 28, 2026 | New CVE Received | [email protected] |
Volerion