CVE-2019-12331
XXE in PHPSpreadsheet due to incomplete fix for previous encoding issue
8.8
HIGH
CVSS 3.1
EPSS 0.12%
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 CVE-2019-12331
To remediate CVE-2019-12331, upgrade the affected package to a fixed version below.
- —no fix listed
- —upgrade to 1.8.0 or later
Is CVE-2019-12331 being exploited?
Low — EPSS is 0.1%, meaning exploitation activity has not been observed at scale.
Affected packages (2)
- from 0, <= 1.8.2
- from 0, < 1.8.0
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | HIGH8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |