CVE-2019-12331
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.
How to fix
- phpoffice phpspreadsheet1.8.0 or later
- phpoffice/phpspreadsheet1.8.0 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| phpoffice phpspreadsheet | v < 1.8.0 | 1.8.0 |
| phpoffice/phpspreadsheetPackagist | v < 1.8.0 | 1.8.0 |
| phpoffice/phpexcelPackagist | v ≤ 1.8.2 | — |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.