Is phpoffice/phpspreadsheet 4.0 vulnerable?
Composer · 1 release from 4.0.0 to 4.0.0 · latest phpoffice/phpspreadsheet is 5.10.0 · checked 2 Nov 2026
Yes: 13 known advisories
Yes. phpoffice/phpspreadsheet 4.0.0, the last 4.0 release, is affected by 13 known security advisories (1 critical, 9 high, 3 medium), including CVE-2026-34084, CVE-2026-108359, CVE-2026-108358. Upgrade to 5.10.0 or later to fix all of them.
composer require phpoffice/phpspreadsheet:^5.10.0Advisories affecting phpoffice/phpspreadsheet 4.0.0
PhpSpreadsheet: SSRF whitelist bypass via unre-validated HTTP redirect in Drawing::setPath external image loading
- Affected
- >=4.0.0 <5.10.0 · >=3.3.0 <3.10.8 · >=2.2.0 <2.4.8 · >=2.0.0 <2.1.19 · <1.30.7
- Fixed in
- 1.30.7, 2.1.19, 2.4.8, 3.10.8, 5.10.0
PhpSpreadsheet ODS Reader: Unbounded number-rows-repeated → CPU & Memory Exhaustion (DoS)
- Affected
- >=4.0.0 <5.10.0 · >=3.3.0 <3.10.8 · >=2.2.0 <2.4.8 · >=2.0.0 <2.1.19 · <1.30.7
- Fixed in
- 1.30.7, 2.1.19, 2.4.8, 3.10.8, 5.10.0
PhpSpreadsheet: XmlScanner Bypass via ISO-2022 Escape Sequences Allows XXE and Denial of Service
- Affected
- >=4.0.0 <5.10.0 · >=3.3.0 <3.10.8 · >=2.2.0 <2.4.8 · >=2.0.0 <2.1.19 · <1.30.7
- Fixed in
- 1.30.7, 2.1.19, 2.4.8, 3.10.8, 5.10.0
PhpSpreadsheet: XmlScanner Bypass via Double-Encoded unentity() TOCTOU Allows XXE and Denial of Service
- Affected
- >=4.0.0 <5.10.0 · >=3.3.0 <3.10.8
- Fixed in
- 3.10.8, 5.10.0
PHPSpreadsheet: XLS/OLE sector-chain self-loop causes memory exhaustion
- Affected
- >=4.0.0 <5.8.1 · >=3.3.0 <3.10.7 · >=2.2.0 <2.4.7 · >=2.0.0 <2.1.18 · <1.30.6
- Fixed in
- 1.30.6, 2.1.18, 2.4.7, 3.10.7, 5.8.1
PHPSpreadsheet: Gnumeric reader unbounded gzip expansion causes memory exhaustion
- Affected
- >=4.0.0 <5.8.1 · >=3.3.0 <3.10.7 · >=2.2.0 <2.4.7 · >=2.0.0 <2.1.18 · <1.30.6
- Fixed in
- 1.30.6, 2.1.18, 2.4.7, 3.10.7, 5.8.1
PHPSpreadsheet: SSRF bypass via HTTP redirect in WEBSERVICE() domain whitelist
- Affected
- >=4.0.0 <5.8.1 · >=3.3.0 <3.10.7 · >=2.2.0 <2.4.7 · >=2.0.0 <2.1.18 · <1.30.6
- Fixed in
- 1.30.6, 2.1.18, 2.4.7, 3.10.7, 5.8.1
PhpSpreadsheet has CPU Denial of Service via Unbounded Row Number in XLSX Row Dimensions
- Affected
- >=4.0.0 <5.7.0 · >=3.3.0 <3.10.5 · >=2.2.0 <2.4.5 · >=2.0.0 <2.1.16 · <1.30.4
- Fixed in
- 1.30.4, 2.1.16, 2.4.5, 3.10.5, 5.7.0
PhpSpreadsheet has CPU Denial of Service via Unbounded Row Index in SpreadsheetML XML Reader
- Affected
- >=4.0.0 <5.7.0 · >=3.3.0 <3.10.5 · >=2.2.0 <2.4.5 · >=2.0.0 <2.1.16 · <1.30.6
- Fixed in
- 1.30.6, 2.1.16, 2.4.5, 3.10.5, 5.7.0
PhpSpreadsheet has SSRF/RCE in IOFactory::load when $filename is user controlled
- Affected
- >=4.0.0 <5.6.0 · >=3.3.0 <3.10.4 · >=2.2.0 <2.4.4 · >=2.0.0 <2.1.15 · <1.30.3
- Fixed in
- 1.30.3, 2.1.15, 2.4.4, 3.10.4, 5.6.0
PhpSpreadsheet has XSS via number format code with @ text placeholder bypasses htmlspecialchars in HTML writer
- Affected
- >=4.0.0 <5.7.0 · >=3.3.0 <3.10.5 · >=2.2.0 <2.4.5 · >=2.0.0 <2.1.16 · <1.30.4
- Fixed in
- 1.30.4, 2.1.16, 2.4.5, 3.10.5, 5.7.0
PhpSpreadsheet has XSS via NumberFormat @ Text Substitution in HTML Writer
- Affected
- >=4.0.0 <5.7.0 · >=3.3.0 <3.10.5 · >=2.2.0 <2.4.5 · >=2.0.0 <2.1.16 · <1.30.4
- Fixed in
- 1.30.4, 2.1.16, 2.4.5, 3.10.5, 5.7.0
PhpSpreadsheet vulnerable to SSRF when reading and displaying a processed HTML document in the browser
- Affected
- <1.30.0 · >=2.0.0 <2.1.12 · >=2.2.0 <2.4.0 · >=3.0.0 <3.10.0 · >=4.0.0 <5.0.0
- Fixed in
- 1.30.0, 2.1.12, 2.4.0, 3.10.0, 5.0.0
Which of your client projects are still on phpoffice/phpspreadsheet 4.0?
NPMscan reads the lockfiles in every GitHub repo you pick, finds the exact phpoffice/phpspreadsheet version each one installs, and checks it against these advisories. Each finding comes with the command that fixes it.
Other phpoffice/phpspreadsheet versions
- phpoffice/phpspreadsheet 4.3
- phpoffice/phpspreadsheet 4.2
- phpoffice/phpspreadsheet 4.1
- phpoffice/phpspreadsheet 3.10
- phpoffice/phpspreadsheet 3.9
- phpoffice/phpspreadsheet 3.8
- phpoffice/phpspreadsheet 5.10
- phpoffice/phpspreadsheet 5.9
- phpoffice/phpspreadsheet 5.8
- phpoffice/phpspreadsheet 5.7
- phpoffice/phpspreadsheet 5.6
- phpoffice/phpspreadsheet 5.5
- All phpoffice/phpspreadsheet advisories
Advisory data from OSV.dev (opens OSV.dev in a new tab), which includes the GitHub Advisory Database. Release list from the Composer registry. Refreshed daily.