CVE-2019-12331

Published Nov 7, 2019 CVSS 3.1 · 8.8 High EPSS 1.4% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2019-0763 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.
Github GHSA Github GHSA GHSA-vvwv-h69m-wg6f XXE in PHPSpreadsheet due to incomplete fix for previous encoding issue
History
Type Values Removed Values Added
First Time appeared Phpoffice
Phpoffice phpspreadsheet
CPEs cpe:2.3:a:phpspreadsheet_project:phpspreadsheet:*:*:*:*:*:*:*:* cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:*
Vendors & Products Phpspreadsheet Project
Phpspreadsheet Project phpspreadsheet
Phpoffice
Phpoffice phpspreadsheet
Weaknesses

Sources

Status
PUBLISHED
Assigner
mitre
Published
Updated
Aug 4, 2024, 11:17 PM
Reserved
May 27, 2019, 12:00 AM
Status
Modified
Published
Nov 7, 2019, 3:15 PM
Modified
Jun 17, 2026, 2:14 AM