PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. The HTML writer skips htmlspecialchars escaping when a cell's formatted value differs from the original value. When a cell has a custom number format containing the text placeholder @ along with any additional literal characters (for example ". @", "@ ", or "x@"), the formatter replaces @ with the cell value and adds the extra characters, causing the formatted value to differ from the original and bypassing HTML escaping entirely. An attacker who can control the cell value and number format of an uploaded spreadsheet that is later converted to HTML and displayed to other users can achieve stored cross-site scripting. This issue is fixed in versions 5.7.0, 3.10.5, 2.4.5, 2.1.16, and 1.30.4.
References
| Link | Resource |
|---|---|
| https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-hrmw-qprp-wgmc | Exploit Mitigation Vendor Advisory |
| https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-hrmw-qprp-wgmc | Exploit Mitigation Vendor Advisory |
Configurations
Configuration 1 (hide)
|
History
11 May 2026, 14:42
| Type | Values Removed | Values Added |
|---|---|---|
| References | () https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-hrmw-qprp-wgmc - Exploit, Mitigation, Vendor Advisory | |
| First Time |
Phpoffice phpspreadsheet
Phpoffice |
|
| CPE | cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:* |
07 May 2026, 15:47
| Type | Values Removed | Values Added |
|---|---|---|
| References | () https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-hrmw-qprp-wgmc - |
06 May 2026, 22:16
| Type | Values Removed | Values Added |
|---|---|---|
| New CVE |
Information
Published : 2026-05-06 22:16
Updated : 2026-05-11 14:42
NVD link : CVE-2026-40296
Mitre link : CVE-2026-40296
CVE.ORG link : CVE-2026-40296
JSON object : View
Products Affected
phpoffice
- phpspreadsheet
CWE
CWE-79
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
