CVE-2019-12331

High

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.

SeverityHigh
CVSS8.8
Exploit probability—
ProductPhpoffice Phpspreadsheet
PublishedNov 7, 2019
First seenNov 7, 2019

How to fix

Update
  • phpoffice phpspreadsheet1.8.0 or later
  • phpoffice/phpspreadsheet1.8.0 or later

Affected products

ProductAffected versionsFixed in
phpoffice phpspreadsheetv < 1.8.01.8.0
phpoffice/phpspreadsheetPackagistv < 1.8.01.8.0
phpoffice/phpexcelPackagistv ≤ 1.8.2—

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.