← Vulnerability feed

Vulnerability record · CVE-2019-12331 · published 7 November 2019

CVE-2019-12331: Phpoffice phpspreadsheet xml external entity (xxe) vulnerability

Phpoffice · Phpspreadsheet

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.

8.8 CVSS 3.1 High EPSS 1.4% · top 29.6% CWE-611 · XML external entity (XXE)
8.8CVSS 3.1 base score, v2 6.8
1.4%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
4References, 2 tagged exploit
17 Jun 2026Last modified by NVD

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.

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2019-12331 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

9.2CVE-2026-34084Phpoffice phpspreadsheet deserialization of untrusted data vulnerabilityPhpSpreadsheet is a library for reading and writing spreadsheet files. In versions 1.30.2 and earlier, 2.0.0 through 2.1.14, 2.2.0 through 2.4.3, 3.3…EPSS 0.78%8.8CVE-2024-45291Phpoffice phpspreadsheet server-side request forgery (ssrf) vulnerabilityPHPSpreadsheet is a pure PHP library for reading and writing spreadsheet files. It's possible for an attacker to construct an XLSX file that links im…EPSS 0.86%8.8CVE-2018-19277Phpoffice phpspreadsheet xml injection vulnerabilitysecurityScan() in PHPOffice PhpSpreadsheet through 1.5.0 allows a bypass of protection mechanisms for XXE via UTF-7 encoding in a .xlsx fileEPSS 7.8%8.3CVE-2024-56365Phpoffice phpspreadsheet cross-site scripting vulnerabilityPhpSpreadsheet is a PHP library for reading and writing spreadsheet files. Versions prior to 3.7.0, 2.3.5, 2.1.6, and 1.29.7 are vulnerable to unauth…EPSS 0.32%8.3CVE-2024-56366Phpoffice phpspreadsheet cross-site scripting vulnerabilityPhpSpreadsheet is a PHP library for reading and writing spreadsheet files. Versions prior to 3.7.0, 2.3.5, 2.1.6, and 1.29.7 are vulnerable to unauth…EPSS 0.33%8.3CVE-2024-56409Phpoffice phpspreadsheet cross-site scripting vulnerabilityPhpSpreadsheet is a PHP library for reading and writing spreadsheet files. Versions prior to 3.7.0, 2.3.5, 2.1.6, and 1.29.7 are vulnerable to unauth…EPSS 0.33%8.3CVE-2024-56408Phpoffice phpspreadsheet cross-site scripting vulnerabilityPhpSpreadsheet is a PHP library for reading and writing spreadsheet files. Versions prior to 3.7.0, 2.3.5, 2.1.6, and 1.29.7 have no sanitization in …EPSS 0.40%7.5CVE-2026-40863Phpoffice phpspreadsheet allocation without limits vulnerabilityPhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the SpreadsheetML …EPSS 0.49%

Source: NIST National Vulnerability Database (record CVE-2019-12331), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.