CVE-2026-34084
CRITICALPhpSpreadsheet SSRF and RCE via PHP stream wrappers in IOFactory::load
Title source: cnaDescription
PhpSpreadsheet is a library for reading and writing spreadsheet files. In versions 1.30.2 and earlier, 2.0.0 through 2.1.14, 2.2.0 through 2.4.3, 3.3.0 through 3.10.3, and 4.0.0 through 5.5.0, when the filename argument to IOFactory::load() is user-controlled, an attacker can supply a PHP stream wrapper path (such as phar://, ftp://, or ssh2.sftp://) that passes the is_file() check in File::assertFile(). The phar:// wrapper triggers deserialization of the PHAR metadata, which can lead to remote code execution if a suitable gadget chain is available in the application. The ftp:// and ssh2.sftp:// wrappers can be used for server-side request forgery. This issue has been fixed in versions 1.30.3, 2.1.15, 2.4.4, 3.10.4, and 5.6.0.
References (1)
Core 1
Core References
X_Refsource_Confirm x_refsource_confirm
https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-q4q6-r8wh-5cgh
Scores
CVSS v3
9.8
EPSS
0.0066
EPSS Percentile
46.6%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CISA SSVC
Vulnrichment
Exploitation
poc
Automatable
yes
Technical Impact
total
Details
CWE
CWE-502
CWE-918
Status
published
Products (11)
phpoffice/phpspreadsheet
< 1.30.3
phpoffice/phpspreadsheet
0 - 1.30.3Packagist
phpoffice/phpspreadsheet
2.0.0 - 2.1.15Packagist
phpoffice/phpspreadsheet
2.2.0 - 2.4.4Packagist
phpoffice/phpspreadsheet
3.3.0 - 3.10.4Packagist
phpoffice/phpspreadsheet
4.0.0 - 5.6.0Packagist
PHPOffice/PhpSpreadsheet
<= 1.30.2
PHPOffice/PhpSpreadsheet
>= 2.0.0, <= 2.1.14
PHPOffice/PhpSpreadsheet
>= 2.2.0, <= 2.4.3
PHPOffice/PhpSpreadsheet
>= 3.3.0, <= 3.10.3
... and 1 more
Published
May 05, 2026
Tracked Since
May 06, 2026