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.
| Package (Ecosystem) | Introduced | Fixed | Limit |
|---|---|---|---|
| phpoffice/phpspreadsheet(Packagist) | 0 | 1.29.4 | N/A |
| phpoffice/phpspreadsheet(Packagist) | 2.0.0 | 2.1.3 | N/A |
| phpoffice/phpspreadsheet(Packagist) | 2.2.0 | 2.3.2 | N/A |
| phpoffice/phpspreadsheet(Packagist) | 3.3.0 | 3.4.0 | N/A |
| phpoffice/phpexcel(Packagist) | 0 | N/A | N/A |
CVSS Metrics