CVE-2026-108360

PhpSpreadsheet: SSRF whitelist bypass via unre-validated HTTP redirect in Drawing::setPath external image loading

State
Published
Severity
6.4 Medium
Published
Oct 22, 2026
Updated
Oct 29, 2026
Reserved
Oct 9, 2026

Read the record on cve.org

Description

PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, Worksheet\Drawing::setPath validates only the initial external-image URL with setIsWhitelisted when setAllowExternalImages is enabled. The HTTP stream context permits PHP to follow a redirect without applying the callback to the redirected URL, so a permitted image host can redirect the server to an internal address and cause a blind GET request. The response body is not returned to the attacker because the reader validates the downloaded content as an image and removes the temporary file, but internal GET-driven endpoints, network reachability, and cloud metadata endpoints may be reached. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0.

Scores

CVSSScoreVectorSource
3.16.4 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:NGitHub_M

Weaknesses

  • CWE-863 Incorrect Authorization
  • CWE-918 Server-Side Request Forgery (SSRF)

Affected Products

ProductVersions
PhpSpreadsheetPHPOffice
  • < 1.30.7Affected
  • >= 2.0.0, < 2.1.19Affected
  • >= 2.2.0, < 2.4.8Affected
  • >= 3.3.0, < 3.10.8Affected
  • >= 4.0.0, < 5.10.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.