CVE-2026-40296: PhpSpreadsheet has XSS via number format code with @ text placeholder bypasses htmlspecialchars in HTML writer

medium Affects phpoffice/phpspreadsheet. Feed 2026.10.29.1, updated 2026-10-28; published ; advisory modified .

PhpSpreadsheet has XSS via number format code with @ text placeholder bypasses htmlspecialchars in HTML writer

Package
phpoffice/phpspreadsheet Composer
Affected versions
>=4.0.0 and <5.7.0 or >=3.3.0 and <3.10.5 or >=2.2.0 and <2.4.5 or >=2.0.0 and <2.1.16 or <1.30.4
Fixed in
5.7.0, 3.10.5, 2.4.5, 2.1.16, 1.30.4
Severity
medium  CVSS 5.4
Exploitation
not on CISA KEV · EPSS 0% (13.1th percentile)
Published
2026-04-28
Source
osv.dev

References

CWE-79
NVD recordphpoffice/phpspreadsheet advisories

Am I affected?

Find out in one command. phpwarden checks your composer.lock against this advisory and 20,000+ others, ranked by real-world exploitation (CISA KEV + EPSS). Free, offline, open data.

# PHP projects (recommended)
composer require --dev phpwarden/phpwarden
# then
vendor/bin/phpwarden deps composer.lock

# or, without Composer
pipx install phpwarden   &&   phpwarden deps composer.lock

Or keep it checked automatically: GitHub Action · pre-commit hook · GitLab CI · Laravel artisan command

Install docs   How findings are ranked

Related advisories