Description
PHPOffice PhpSpreadsheet before 1.8.0 has an XXE issue. The XmlScanner decodes the sheet1.xml from an .xlsx to utf-8 if something else than UTF-8 is declared in the header. This was a security measurement to prevent CVE-2018-19277 but the fix is not sufficient. By double-encoding the the xml payload to utf-7 it is possible to bypass the check for the string ‚<!ENTITY‘ and thus allowing for an xml external entity processing (XXE) attack.
References (2)
Core 2
Core References
Third Party Advisory x_refsource_confirm
https://github.com/PHPOffice/PhpSpreadsheet/blob/master/CHANGELOG.md#180---2019-07-01
Exploit, Third Party Advisory x_refsource_misc
https://herolab.usd.de/security-advisories/usd-2019-0046/
Scores
CVSS v3
8.8
EPSS
0.0135
EPSS Percentile
67.9%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Details
CWE
CWE-611
Status
published
Products (3)
phpoffice/phpexcel
0Packagist
phpoffice/phpspreadsheet
< 1.8.0
phpoffice/phpspreadsheet
0 - 1.8.0Packagist
Published
Nov 07, 2019
Tracked Since
Feb 18, 2026