SB2026101343 - Multiple vulnerabilities in PhpSpreadsheet
Published: October 13, 2026
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 4 vulnerabilities.
1) XML External Entity injection (CVE-ID: CVE-2026-108357)
CWE-ID: CWE-611 - Improper Restriction of XML External Entity Reference ('XXE')
CVSSv4: 8.8 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to disclose sensitive information, perform server-side request forgery, and cause a denial of service.
The vulnerability exists due to improper restriction of XML entity references in the SpreadsheetML XML reader's XmlScanner::scan() processing when decoding numeric character references after security checks during two successive scans. A remote attacker can submit a specially crafted SpreadsheetML XML file containing double-encoded document type and entity declarations to disclose sensitive information, perform server-side request forgery, and cause a denial of service.
External entity exploitation depends on the PHP and libxml configuration, including PHP versions earlier than 8.0 or use of LIBXML_NOENT. Internal entity expansion is exploitable on all PHP versions.
2) XML Entity Expansion (CVE-ID: CVE-2026-108358)
CWE-ID: CWE-776 - Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')
CVSSv4: 8.7 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to cause a denial of service.
The vulnerability exists due to improper restriction of XML entity expansion in XmlScanner::scan() when processing user-uploaded XLSX files. A remote attacker can submit a specially crafted XLSX file with ISO-2022 escape sequences inserted between characters of a DOCTYPE declaration to cause a denial of service.
Quadratic internal entity expansion is exploitable on all PHP versions and is not blocked by libxml2 2.9 or later defaults. The demonstrated file consumed approximately 45 MB of memory from an approximately 2 KB XLSX file.
3) Uncontrolled Memory Allocation (CVE-ID: CVE-2026-108359)
CWE-ID: CWE-789 - Uncontrolled Memory Allocation
CVSSv4: 8.7 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to cause a denial of service.
The vulnerability exists due to memory allocation with an unbounded row-repeat count in the Ods::processTableRow() function when processing user-supplied OpenDocument Spreadsheet files. A remote attacker can supply a specially crafted .ods file containing an excessive table:number-rows-repeated value to cause a denial of service.
No special configuration is required, and exploitation is possible with the default read filter.
4) Server-Side Request Forgery (SSRF) (CVE-ID: CVE-2026-108360)
CWE-ID: CWE-918 - Server-Side Request Forgery (SSRF)
CVSSv4: 5.3 [CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:L/SI:N/SA:N]
The vulnerability allows a remote user to perform blind server-side requests to internal endpoints.
nThe vulnerability exists due to improper validation of redirect destinations in PhpSpreadsheet's WorksheetDrawing::setPath() when loading external images from whitelisted URLs. A remote user can supply crafted XLSX or HTML content referencing a whitelisted URL that returns an HTTP redirect to an internal target to perform blind server-side requests to internal endpoints.
nExploitation requires external image loading to be enabled through setAllowExternalImages(true) and the initial URL to pass the configured whitelist callback. The fetched response body is not exposed; this is a blind GET primitive rather than a full response-read capability.
Remediation
Install update from vendor's website.
References
- https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-rxj4-h86g-25gc
- https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-3x94-m842-937c
- https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-j2w7-387v-m2rq
- https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-2phh-27fw-q4gc