CVE-2026-45034
Last modified
CVE-2026-45034 is a critical-severity vulnerability rated 9.2/10 on the CVSS scale. PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.5, CVE-2026-34084 was patched by the helper File::prohibitWrappers. EPSS estimates a 0.35% chance of exploitation in the next 30 days.
Description
PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.5, CVE-2026-34084 was patched by the helper File::prohibitWrappers. The helper calls parse_url($filename, PHP_URL_SCHEME) and then checks is_string($scheme) && strlen($scheme) > 1 to reject stream wrappers such as phar://, php://, data:// or expect://. The check is not equivalent to "does the path contain a wrapper". When the input has the form phar:///path/file.phar/inner with three or more slashes after the scheme, parse_url returns boolean false instead of returning the scheme string. The is_string($scheme) branch is therefore skipped, the helper returns without throwing, and the caller proceeds. PHP's stream layer, however, still treats phar:///... as a valid phar wrapper and opens the underlying phar file. The result is that IOFactory::load($attackerPath) walks past the patch and still touches the phar wrapper. On PHP 7.x, simply reaching the phar wrapper via is_file is enough for PHP to automatically deserialize the phar metadata, which in turn invokes the magic methods __wakeup and __destruct of an attacker controlled object and gives full RCE. On PHP 8.x, automatic metadata deserialization for plain file ops was removed, so the chain at the PhpSpreadsheet layer reduces to a phar wrapper file read primitive, and RCE only resurfaces if the downstream consumer ever calls Phar::getMetadata. This vulnerability is fixed in 1.30.5.
Metrics
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness Enumeration
References
Timeline
- Published
- Last Modified
- Status
- Deferred
Frequently Asked Questions
What is CVE-2026-45034?
How severe is CVE-2026-45034?
How do I fix CVE-2026-45034?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-45026WeGIA is a web manager for charitable institutions. In versi…6.8
- CVE-2026-45027WeGIA is a web manager for charitable institutions. In versi…5.9
- CVE-2026-45028Astro is a web framework. Astro versions prior to 6.1.10 use…6.1
- CVE-2026-4503IBM Langflow Desktop 1.0.0 through 1.8.4 Langflow could allo…7.5
- CVE-2026-45031ImageMagick is free and open-source software used for editin…5.3
- CVE-2026-45033GitHub Copilot CLI brings AI-powered coding assistance direc…7.8
- CVE-2026-45035Tabby (formerly Terminus) is a highly configurable terminal …8.8
- CVE-2026-45036Tabby (formerly Terminus) is a highly configurable terminal …7
- CVE-2026-45037Tabby (formerly Terminus) is a highly configurable terminal …7.1
- CVE-2026-45038Tabby (formerly Terminus) is a highly configurable terminal …7.8
- CVE-2026-45039RustFS is a distributed object storage system built in Rust.…9.8
- CVE-2026-4504A flaw has been found in eosphoros-ai db-gpt up to 0.7.5. Th…7.3
Are you affected by CVE-2026-45034?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
