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
Link | Resource |
---|---|
https://herolab.usd.de/security-advisories/usd-2019-0046/ | Exploit Third Party Advisory |
https://github.com/PHPOffice/PhpSpreadsheet/blob/master/CHANGELOG.md#180---2019-07-01 | Third Party Advisory |
Configurations
Information
Published : 2019-11-07 07:15
Updated : 2020-02-10 13:49
NVD link : CVE-2019-12331
Mitre link : CVE-2019-12331
JSON object : View
CWE
CWE-611
Improper Restriction of XML External Entity Reference
Products Affected
phpspreadsheet_project
- phpspreadsheet