Advisory Database
  • Advisories
  • Dependency Scanning
  1. composer
  2. ›
  3. phpoffice/phpspreadsheet
  4. ›
  5. CVE-2026-59933

CVE-2026-59933: PHPSpreadsheet: XLS/OLE sector-chain self-loop causes memory exhaustion

July 23, 2026

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.

References

  • github.com/PHPOffice/PhpSpreadsheet/commit/85f2556b0bf5269061bf45932ecda8a128d81750
  • github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.6
  • github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.18
  • github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.7
  • github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.7
  • github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.8.1
  • github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-xh5m-36r6-47m3
  • github.com/advisories/GHSA-xh5m-36r6-47m3
  • nvd.nist.gov/vuln/detail/CVE-2026-59933

Code Behaviors & Features

Detect and mitigate CVE-2026-59933 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 1.30.6, all versions starting from 2.0.0 before 2.1.18, all versions starting from 2.2.0 before 2.4.7, all versions starting from 3.3.0 before 3.10.7, all versions starting from 4.0.0 before 5.8.1

Fixed versions

  • 1.30.6
  • 2.1.18
  • 2.4.7
  • 3.10.7
  • 5.8.1

Solution

Upgrade to versions 1.30.6, 2.1.18, 2.4.7, 3.10.7, 5.8.1 or above.

Impact 7.5 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Learn more about CVSS

Weakness

  • CWE-400: Uncontrolled Resource Consumption
  • CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')

Source file

packagist/phpoffice/phpspreadsheet/CVE-2026-59933.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 08 Aug 2026 00:17:31 +0000.