Is phpoffice/phpspreadsheet 3.8 vulnerable?

Composer · 1 release from 3.8.0 to 3.8.0 · latest phpoffice/phpspreadsheet is 5.10.0 · checked 2 Nov 2026

Yes: 14 known advisories

Yes. phpoffice/phpspreadsheet 3.8.0, the last 3.8 release, is affected by 14 known security advisories (1 critical, 9 high, 4 medium), including CVE-2026-34084, CVE-2026-108359, CVE-2026-108358. Upgrade to 3.10.8 or later to fix all of them.

Upgrade with:composer require phpoffice/phpspreadsheet:^3.10.8

Is your project affected?

Private repo? Upload its lockfile instead, or connect GitHub to check every repo.

Advisories affecting phpoffice/phpspreadsheet 3.8.0

  • MediumCVE-2026-108360GHSA-2phh-27fw-q4gc27 Oct 2026

    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
  • HighCVE-2026-108359GHSA-j2w7-387v-m2rq27 Oct 2026

    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
  • HighCVE-2026-108358GHSA-3x94-m842-937c27 Oct 2026

    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
  • HighCVE-2026-108357GHSA-rxj4-h86g-25gc27 Oct 2026

    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
  • HighCVE-2026-59933GHSA-xh5m-36r6-47m323 Jul 2026

    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
  • HighCVE-2026-59932GHSA-2mrg-gjxq-2gvr23 Jul 2026

    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
  • HighCVE-2026-59931GHSA-6hq5-7373-42rg23 Jul 2026

    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
  • HighCVE-2026-40902GHSA-7c6m-4442-2x6m29 Apr 2026

    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
  • HighCVE-2026-40863GHSA-84wq-86v6-x5j629 Apr 2026

    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
  • CriticalCVE-2026-34084GHSA-q4q6-r8wh-5cgh29 Apr 2026

    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
  • MediumCVE-2026-40296GHSA-hrmw-qprp-wgmc28 Apr 2026

    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
  • MediumCVE-2026-35453GHSA-6wpp-88cp-7q6828 Apr 2026

    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
  • HighCVE-2025-54370GHSA-rx7m-68vc-ppxh25 Aug 2025

    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
  • MediumCVE-2025-23210GHSA-r57h-547h-w24f3 Feb 2025

    PhpSpreadsheet allows bypassing of XSS sanitizer using the javascript protocol and special characters

    Affected
    >=3.0.0 <3.9.0 · <1.29.9 · >=2.2.0 <2.3.7 · >=2.0.0 <2.1.8
    Fixed in
    1.29.9, 2.1.8, 2.3.7, 3.9.0

Which of your client projects are still on phpoffice/phpspreadsheet 3.8?

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

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.