Vulnerability · Published May 5, 2026 · Assigned by GitHub_M

CVE-2026-35453PhpSpreadsheet XSS via number format text substitution in HTML Writer

Medium 4.8

In plain English

A medium-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.2% (higher than 10% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 4.0)4.8Medium
Exploit odds (30 days)0.2%top 89.7% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

PhpSpreadsheet is a library for reading and writing spreadsheet files. In versions 1.30.3 and earlier, 2.0.0 through 2.1.15, 2.2.0 through 2.4.4, 3.3.0 through 3.10.4, and 4.0.0 through 5.6.0, the HTML Writer skips htmlspecialchars() output escaping when a cell uses a custom number format containing the @ text placeholder with additional literal text (e.g., @ "items"). The escaping is only applied when the formatted output strictly equals the original cell value. When the format code contains @ with quoted literal text, the formatter substitutes the raw cell value into the format string and returns early without invoking the escaping callback. An attacker who can control cell content in a spreadsheet processed by the HTML Writer can inject arbitrary HTML and JavaScript into the generated output. This issue has been fixed in versions 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Packagistphpoffice/phpspreadsheet5.7.0GHSA-6wpp-88cp-7q68
Packagistphpoffice/phpspreadsheet3.10.5GHSA-6wpp-88cp-7q68
Packagistphpoffice/phpspreadsheet2.4.5GHSA-6wpp-88cp-7q68
Packagistphpoffice/phpspreadsheet2.1.16GHSA-6wpp-88cp-7q68
Packagistphpoffice/phpspreadsheet1.30.4GHSA-6wpp-88cp-7q68

Affected products (as reported)

VendorProductVersions
PHPOffice PhpSpreadsheet >= 4.0.0, <= 5.6.0>= 3.3.0, <= 3.10.4>= 2.2.0, <= 2.4.4>= 2.0.0, <= 2.1.15<= 1.30.3

Weakness: CWE-79 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

References