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

CVE-2026-34084: PhpSpreadsheet has SSRF/RCE in IOFactory::load when $filename is user controlled

April 29, 2026 (updated May 8, 2026)

The usage of is_file, used to verify if the $filename is indeed an actual file, by all(?) Reader implementations (inside the helper function File::assertFile) is php-wrapper aware, for any php wrappers implementing stat(). The 3 wrappers ftp://, phar:// and ssh2.sftp://, all satisfy this requirement - 2 of which are shown in the PoC below.

This results in a SSRF, at “best”, and RCE at worse.

This was tested against the latest release - but the issue seems to go back a while from a first quick check (still present in v1.30.2).

References

  • github.com/PHPOffice/PhpSpreadsheet
  • github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-q4q6-r8wh-5cgh
  • github.com/advisories/GHSA-q4q6-r8wh-5cgh
  • nvd.nist.gov/vuln/detail/CVE-2026-34084
  • www.php.net/manual/en/wrappers.php

Code Behaviors & Features

Detect and mitigate CVE-2026-34084 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.3, all versions starting from 2.0.0 before 2.1.15, all versions starting from 2.2.0 before 2.4.4, all versions starting from 3.3.0 before 3.10.4, all versions starting from 4.0.0 before 5.6.0

Fixed versions

  • 5.6.0
  • 3.10.4
  • 2.4.4
  • 2.1.15
  • 1.30.3

Solution

Upgrade to versions 1.30.3, 2.1.15, 2.4.4, 3.10.4, 5.6.0 or above.

Impact 9.8 CRITICAL

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

Learn more about CVSS

Weakness

  • CWE-502: Deserialization of Untrusted Data
  • CWE-918: Server-Side Request Forgery (SSRF)

Source file

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

Spotted a mistake? Edit the file on GitLab.

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

Page generated Sat, 09 May 2026 12:19:38 +0000.