CVE-2026-34084: CWE-502: Deserialization of Untrusted Data in PHPOffice PhpSpreadsheet
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.
AI Analysis
Technical Summary
PhpSpreadsheet is vulnerable to deserialization of untrusted data when the filename argument to IOFactory::load() is user-controlled and includes PHP stream wrapper paths such as phar://. The phar:// wrapper triggers deserialization of PHAR metadata, potentially enabling remote code execution if a suitable gadget chain is present in the application. The ftp:// and ssh2.sftp:// wrappers can be exploited for server-side request forgery. Affected versions include multiple release ranges from 1.x through 5.5.0. The vulnerability has been addressed in versions 1.30.3, 2.1.15, 2.4.4, 3.10.4, and 5.6.0.
Potential Impact
Successful exploitation can lead to remote code execution due to deserialization of malicious PHAR metadata. Server-side request forgery is also possible via ftp:// and ssh2.sftp:// wrappers. This poses a critical risk to affected applications that use vulnerable PhpSpreadsheet versions and accept user-controlled input to IOFactory::load(). No known exploits in the wild have been reported at this time.
Mitigation Recommendations
Upgrade PhpSpreadsheet to a fixed version: 1.30.3, 2.1.15, 2.4.4, 3.10.4, or 5.6.0 or later. Avoid passing user-controlled input directly to IOFactory::load() without validation. Patch status is confirmed fixed in these versions. No vendor advisory content contradicts this remediation.
CVE-2026-34084: CWE-502: Deserialization of Untrusted Data in PHPOffice PhpSpreadsheet
Description
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.
CVSS v4.0
Score 9.2critical
Affected software
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
PhpSpreadsheet is vulnerable to deserialization of untrusted data when the filename argument to IOFactory::load() is user-controlled and includes PHP stream wrapper paths such as phar://. The phar:// wrapper triggers deserialization of PHAR metadata, potentially enabling remote code execution if a suitable gadget chain is present in the application. The ftp:// and ssh2.sftp:// wrappers can be exploited for server-side request forgery. Affected versions include multiple release ranges from 1.x through 5.5.0. The vulnerability has been addressed in versions 1.30.3, 2.1.15, 2.4.4, 3.10.4, and 5.6.0.
Potential Impact
Successful exploitation can lead to remote code execution due to deserialization of malicious PHAR metadata. Server-side request forgery is also possible via ftp:// and ssh2.sftp:// wrappers. This poses a critical risk to affected applications that use vulnerable PhpSpreadsheet versions and accept user-controlled input to IOFactory::load(). No known exploits in the wild have been reported at this time.
Mitigation Recommendations
Upgrade PhpSpreadsheet to a fixed version: 1.30.3, 2.1.15, 2.4.4, 3.10.4, or 5.6.0 or later. Avoid passing user-controlled input directly to IOFactory::load() without validation. Patch status is confirmed fixed in these versions. No vendor advisory content contradicts this remediation.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-03-25T16:21:40.869Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 69fa46b8cbff5d86101fa002
Added to database: 5/5/2026, 7:36:24 PM
Last enriched: 5/5/2026, 7:51:37 PM
Last updated: 6/20/2026, 3:43:26 AM
Views: 304
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.