Vulnerability · Published Oct 7, 2024 · Assigned by GitHub_M
CVE-2024-45060Unauthenticated Cross-Site-Scripting (XSS) in sample file in PHPSpreadsheet
High 7.1
In plain English
A high-severity cross-site scripting in PhpSpreadsheet from PHPOffice. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 43% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
PHPSpreadsheet is a pure PHP library for reading and writing spreadsheet files. One of the sample scripts in PhpSpreadsheet is susceptible to a cross-site scripting (XSS) vulnerability due to improper handling of input where a number is expected leading to formula injection. The code in in `45_Quadratic_equation_solver.php` concatenates the user supplied parameters directly into spreadsheet formulas. This allows an attacker to take control over the formula and output unsanitized data into the page, resulting in JavaScript execution. This issue has been addressed in release versions 1.29.2, 2.1.1, and 2.3.0. All users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Packagist | phpoffice/phpexcel | no fix listed | GHSA-v66g-p9x6-v98p |
| Packagist | phpoffice/phpspreadsheet | 2.3.0 | GHSA-v66g-p9x6-v98p |
| Packagist | phpoffice/phpspreadsheet | 1.29.2 | GHSA-v66g-p9x6-v98p |
| Packagist | phpoffice/phpspreadsheet | 2.1.1 | GHSA-v66g-p9x6-v98p |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| PHPOffice | PhpSpreadsheet | < 1.29.2>= 2.0.0, < 2.1.1>= 2.2.0, < 2.3.0 |
Weakness: CWE-79 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N