ghsa-vvwv-h69m-wg6f
Vulnerability from github
Published
2019-11-20 01:39
Modified
2024-09-04 20:01
Severity ?
Summary
XXE in PHPSpreadsheet due to incomplete fix for previous encoding issue
Details
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.
{ "affected": [ { "package": { "ecosystem": "Packagist", "name": "phpoffice/phpspreadsheet" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "1.8.0" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2019-12331" ], "database_specific": { "cwe_ids": [ "CWE-611" ], "github_reviewed": true, "github_reviewed_at": "2019-11-19T03:41:04Z", "nvd_published_at": "2019-11-07T15:15:10Z", "severity": "HIGH" }, "details": "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 ?\u003c!ENTITY? and thus allowing for an xml external entity processing (XXE) attack.", "id": "GHSA-vvwv-h69m-wg6f", "modified": "2024-09-04T20:01:16Z", "published": "2019-11-20T01:39:57Z", "references": [ { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2019-12331" }, { "type": "WEB", "url": "https://github.com/PHPOffice/PhpSpreadsheet/pull/1041" }, { "type": "WEB", "url": "https://github.com/PHPOffice/PhpSpreadsheet/commit/0e6238c69e863b58aeece61e48ea032696c6dccd" }, { "type": "WEB", "url": "https://github.com/FriendsOfPHP/security-advisories/blob/master/phpoffice/phpspreadsheet/CVE-2019-12331.yaml" }, { "type": "PACKAGE", "url": "https://github.com/PHPOffice/PhpSpreadsheet" }, { "type": "WEB", "url": "https://github.com/PHPOffice/PhpSpreadsheet/blob/master/CHANGELOG.md#180---2019-07-01" }, { "type": "WEB", "url": "https://github.com/PHPOffice/PhpSpreadsheet/releases/tag/1.8.0" }, { "type": "WEB", "url": "https://herolab.usd.de/security-advisories/usd-2019-0046" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "type": "CVSS_V3" } ], "summary": "XXE in PHPSpreadsheet due to incomplete fix for previous encoding issue" }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.