GitHub Advisoryadvisory · Packagist

GHSA-wgmf-q9vr-vww6 PhpSpreadsheet HTML writer is vulnerable to Cross-Site Scripting via style information

MEDIUM Published 2024-08-29 Modified 2025-03-06 Official page ↗
Aliases
CVE-2024-45046
Ecosystem
Packagist
Packages
phpoffice/phpspreadsheet, phpoffice/phpexcel
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Weaknesses
CWE-79
Reviewed
2024-08-29

Affected packages

• Packagist phpoffice/phpspreadsheet: >= 2.0.0, < 2.1.0 → fixed in 2.1.0 • Packagist phpoffice/phpspreadsheet: < 1.29.1 → fixed in 1.29.1 • Packagist phpoffice/phpexcel: <= 1.8.2 (no fix yet)

Description

Summary `\PhpOffice\PhpSpreadsheet\Writer\Html` doesn't sanitize spreadsheet styling information such as font names, allowing an attacker to inject arbitrary JavaScript on the page. PoC Example target script: ``` load(__DIR__ . '/book.xlsx'); $writer = new \PhpOffice\PhpSpreadsheet\Writer\Html($spreadsheet); print($writer->generateHTMLAll()); ``` Save this file in the same directory: book.xlsx Open index.php in a web browser. An alert should be displayed. Impact Full takeover of the session of users viewing spreadsheet files as HTML.

Related

Alias · CVE (1)

  • CVE-2024-45046 PHPSpreadsheet is a pure PHP library for reading and writing spreadsheet files. vulnerability

Weakness · CWE (1)

  • CWE-79 Improper Neutralization of Input During Web Page Generation weakness

References