CVE-2024-47873

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.

Affected Software

VendorProductVersion RangeStatus
PHPOfficePhpSpreadsheet< 1.29.4affected
PHPOfficePhpSpreadsheet>= 2.0.0, < 2.1.3affected
PHPOfficePhpSpreadsheet>= 2.2.0, < 2.3.2affected
PHPOfficePhpSpreadsheet>= 3.3.0, < 3.4.0affected

Weaknesses

  • CWE-611: CWE-611: Improper Restriction of XML External Entity Reference

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: poc
    • Automatable: yes
    • Technical Impact: partial

References