phpoffice/phpspreadsheet · PhpSpreadsheet: SSRF whitelist bypass via unre-validated HTTP redirect in Drawing::setPath external image loading
Affects phpoffice/phpspreadsheetSource GCVE Database
Mentioned vulnerabilities
Not known to be exploited · CVSS 6.4 Medium : upgrade to 5.10.0 when convenient.
Data as of 27 Oct 2026, 16:29 UTC
- Patch
- Available – fixed in 5.10.0, 3.10.8, 2.4.8 +2
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:NExploitation evidence
Disclosed: evidence found.
CVE published 22 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| Packagistphpoffice/phpspreadsheet | Affected
| Fixed in
|
| Packagistphpoffice/phpspreadsheet | Affected
| Fixed in
|
| Packagistphpoffice/phpspreadsheet | Affected
| Fixed in
|
| Packagistphpoffice/phpspreadsheet | Affected
| Fixed in
|
| Packagistphpoffice/phpspreadsheet | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade PhpSpreadsheet to version 5.10.0 or later, where the vulnerability is fixed by disabling automatic HTTP redirect following in the Drawing::setPath() method. If upgrading is not immediately possible, avoid enabling external image loading with a whitelist that includes untrusted domains. Review and restrict the use of setAllowExternalImages(true) and setIsWhitelisted() callbacks to trusted hosts only. Monitor vendor advisories for any additional patches or mitigations.
Description
PhpSpreadsheet versions from 5.5.0 up to and including 5.9.0 contain a server-side request forgery (SSRF) vulnerability in the Worksheet\Drawing::setPath() method. The vulnerability arises because the external image URL whitelist check is applied only once on the initial URL, and HTTP redirects are followed without re-validation, allowing an attacker to redirect requests to internal or otherwise restricted endpoints. This results in a blind SSRF where the server issues internal GET requests without exfiltrating response content. A fix is available in version 5.10.0.
References
- github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2phh-27fw-q4gc (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-108360 (opens in a new tab)
- github.com/PHPOffice/PhpSpreadsheet/commit/299993894dce37aa3b64aa23e9a3f4bb77ab0e66 (opens in a new tab)
- github.com/PHPOffice/PhpSpreadsheet/commit/94590951d76a250a5fc1ecf69a0b3f7439a9af49 (opens in a new tab)
- github.com/PHPOffice/PhpSpreadsheet/commit/980b5c294493856f1a25754f1e8a1d2185b93738 (opens in a new tab)
- github.com/PHPOffice/PhpSpreadsheet/commit/9a0b48622ebfe93fa48cb9bc09ce57303bb07af9 (opens in a new tab)
- github.com/PHPOffice/PhpSpreadsheet/commit/da13f40e8760d599b0e8a296017d4b028b20e86c (opens in a new tab)
- github.com/PHPOffice/PhpSpreadsheet (opens in a new tab)
- github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.30.7 (opens in a new tab)
- github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.1.19 (opens in a new tab)
- github.com/PHPOffice/PhpSpreadsheet/releases/tag/2.4.8 (opens in a new tab)
- github.com/PHPOffice/PhpSpreadsheet/releases/tag/3.10.8 (opens in a new tab)
- github.com/PHPOffice/PhpSpreadsheet/releases/tag/5.10.0 (opens in a new tab)