cve-2024-47873
Vulnerability from cvelistv5
Published
2024-11-18 17:03
Modified
2024-11-18 18:28
Severity ?
EPSS score ?
Summary
PhpSpreadsheet is a PHP library for reading and writing spreadsheet files. The XmlScanner class has a scan method which should prevent XXE attacks. However, prior to versions 1.9.4, 2.1.3, 2.3.2, and 3.4.0, the regexes used in the `scan` method and the findCharSet method can be bypassed by using UCS-4 and encoding guessing. An attacker can bypass the sanitizer and achieve an XML external entity attack. Versions 1.9.4, 2.1.3, 2.3.2, and 3.4.0 fix the issue.
References
Impacted products
Vendor | Product | Version | |
---|---|---|---|
▼ | PHPOffice | PhpSpreadsheet |
Version: < 1.29.4 Version: >= 2.0.0, < 2.1.3 Version: >= 2.2.0, < 2.3.2 Version: >= 3.3.0, < 3.4.0 |
|
{ "containers": { "adp": [ { "affected": [ { "cpes": [ "cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:*" ], "defaultStatus": "unknown", "product": "phpspreadsheet", "vendor": "phpoffice", "versions": [ { "lessThan": "1.29.4", "status": "affected", "version": "0", "versionType": "custom" }, { "lessThan": "2.1.3", "status": "affected", "version": "2.0.0", "versionType": "custom" }, { "lessThan": "2.3.2", "status": "affected", "version": "2.2.0", "versionType": "custom" }, { "lessThan": "3.4.0", "status": "affected", "version": "3.3.0", "versionType": "custom" } ] } ], "metrics": [ { "other": { "content": { "id": "CVE-2024-47873", "options": [ { "Exploitation": "poc" }, { "Automatable": "yes" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "timestamp": "2024-11-18T18:28:33.862619Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2024-11-18T18:28:36.292Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "product": "PhpSpreadsheet", "vendor": "PHPOffice", "versions": [ { "status": "affected", "version": "\u003c 1.29.4" }, { "status": "affected", "version": "\u003e= 2.0.0, \u003c 2.1.3" }, { "status": "affected", "version": "\u003e= 2.2.0, \u003c 2.3.2" }, { "status": "affected", "version": "\u003e= 3.3.0, \u003c 3.4.0" } ] } ], "descriptions": [ { "lang": "en", "value": "PhpSpreadsheet is a PHP library for reading and writing spreadsheet files. The XmlScanner class has a scan method which should prevent XXE attacks. However, prior to versions 1.9.4, 2.1.3, 2.3.2, and 3.4.0, the regexes used in the `scan` method and the findCharSet method can be bypassed by using UCS-4 and encoding guessing. An attacker can bypass the sanitizer and achieve an XML external entity attack. Versions 1.9.4, 2.1.3, 2.3.2, and 3.4.0 fix the issue." } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 7.5, "baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N", "version": "3.1" } } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-611", "description": "CWE-611: Improper Restriction of XML External Entity Reference", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2024-11-18T17:03:00.366Z", "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M" }, "references": [ { "name": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-jw4x-v69f-hh5w", "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-jw4x-v69f-hh5w" }, { "name": "https://github.com/PHPOffice/PhpSpreadsheet/blob/39fc51309181e82593b06e2fa8e45ef8333a0335/src/PhpSpreadsheet/Reader/Security/XmlScanner.php", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/PHPOffice/PhpSpreadsheet/blob/39fc51309181e82593b06e2fa8e45ef8333a0335/src/PhpSpreadsheet/Reader/Security/XmlScanner.php" }, { "name": "https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Processing", "tags": [ "x_refsource_MISC" ], "url": "https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Processing" }, { "name": "https://www.w3.org/TR/xml/#sec-guessing-no-ext-info", "tags": [ "x_refsource_MISC" ], "url": "https://www.w3.org/TR/xml/#sec-guessing-no-ext-info" } ], "source": { "advisory": "GHSA-jw4x-v69f-hh5w", "discovery": "UNKNOWN" }, "title": "PhpSpreadsheet XmlScanner bypass leads to XXE" } }, "cveMetadata": { "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "assignerShortName": "GitHub_M", "cveId": "CVE-2024-47873", "datePublished": "2024-11-18T17:03:00.366Z", "dateReserved": "2024-10-04T16:00:09.629Z", "dateUpdated": "2024-11-18T18:28:36.292Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2024-47873\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2024-11-18T17:15:11.973\",\"lastModified\":\"2024-11-19T21:57:56.293\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"PhpSpreadsheet is a PHP library for reading and writing spreadsheet files. The XmlScanner class has a scan method which should prevent XXE attacks. However, prior to versions 1.9.4, 2.1.3, 2.3.2, and 3.4.0, the regexes used in the `scan` method and the findCharSet method can be bypassed by using UCS-4 and encoding guessing. An attacker can bypass the sanitizer and achieve an XML external entity attack. Versions 1.9.4, 2.1.3, 2.3.2, and 3.4.0 fix the issue.\"},{\"lang\":\"es\",\"value\":\"PhpSpreadsheet es una librer\u00eda PHP para leer y escribir archivos de hojas de c\u00e1lculo. La clase XmlScanner tiene un m\u00e9todo de escaneo que deber\u00eda evitar ataques XXE. Sin embargo, antes de las versiones 1.9.4, 2.1.3, 2.3.2 y 3.4.0, las expresiones regulares utilizadas en el m\u00e9todo `scan` y en el m\u00e9todo findCharSet se pueden omitir utilizando UCS-4 y adivinando la codificaci\u00f3n. Un atacante puede omitir el desinfectante y lograr un ataque de entidad externa XML. Las versiones 1.9.4, 2.1.3, 2.3.2 y 3.4.0 solucionan el problema.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N\",\"baseScore\":7.5,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":3.9,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-611\"}]}],\"references\":[{\"url\":\"https://github.com/PHPOffice/PhpSpreadsheet/blob/39fc51309181e82593b06e2fa8e45ef8333a0335/src/PhpSpreadsheet/Reader/Security/XmlScanner.php\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-jw4x-v69f-hh5w\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Processing\",\"source\":\"security-advisories@github.com\"},{\"url\":\"https://www.w3.org/TR/xml/#sec-guessing-no-ext-info\",\"source\":\"security-advisories@github.com\"}]}}" } }
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.