Junglewise Threat Intelligence

CVE-2026-59933: PHPOffice PhpSpreadsheet denial of service in OLE reader

CVE-2026-59933 · Severity: high · CVSS 7.5 · Published 2026-07-28

Technologies: Phpoffice Phpspreadsheet. Vendors: Phpoffice.

Executive brief

PhpSpreadsheet is a widely used library for reading and writing spreadsheet files in PHP applications. A vulnerability in how the library processes older Excel (XLS) files allows an attacker to upload a specially crafted, tiny file that causes the server to enter an infinite loop and exhaust all available memory. This can lead to a complete service outage for any application that automatically processes or detects uploaded spreadsheet types.

Technical details

An uncontrolled resource consumption vulnerability (CWE-400) exists in the OLE reader component of PhpSpreadsheet. The OLERead::read() function follows sector chains in XLS/OLE metadata without validating for cycles or enforcing a maximum chain length. An attacker can provide a malformed file where a small-block depot sector chain points back to itself, causing an infinite loop that repeatedly appends data until the PHP process exhausts its memory limit. This is reachable via automatic file type detection (Reader\Xls::canRead()), meaning even simple file uploads intended for validation can trigger the crash. The issue is fixed in versions 5.8.1, 3.10.7, 2.4.7, 2.1.18, and 1.30.6.

Affected products

  • PHPOffice PhpSpreadsheet < 1.30.6, 2.0.0 to 2.1.17, 2.2.0 to 2.4.6, 3.3.0 to 3.10.6, 4.0.0 to 5.8.0

Timeline

  • 2026-07-11: patched: Fix committed to repository
  • 2026-07-28: advisory: Security advisory published by GitHub and NVD

References

Related threats