Miggo Logo

CVE-2024-56410: PhpSpreadsheet has a Cross-Site Scripting (XSS) vulnerability in custom properties

5.4

CVSS Score
3.1

Basic Information

EPSS Score
0.11567%
Published
1/3/2025
Updated
3/6/2025
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
phpoffice/phpspreadsheetcomposer>= 3.0.0, < 3.7.03.7.0
phpoffice/phpspreadsheetcomposer<= 1.29.61.29.7
phpoffice/phpspreadsheetcomposer>= 2.0.0, <= 2.1.52.1.6
phpoffice/phpspreadsheetcomposer>= 2.2.0, <= 2.3.42.3.5
phpoffice/phpexcelcomposer<= 1.8.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The primary vulnerability occurs in generateHTMLHeader, where custom property names (used in meta tags) and hyperlink base values (in base href) were not sanitized, as shown in the commit diff adding htmlspecialchars. The generateRow method's hyperlink handling also had insufficient sanitization, though it was a secondary vector. The CVE description explicitly identifies generateMeta as the vulnerable component, but analysis shows the root cause is in how generateHTMLHeader calls generateMeta with unsanitized input.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

# *ross-Sit* S*riptin* (XSS) vuln*r**ility in *ustom prop*rti*s **Pro*u*t**: P*pspr***s***t **V*rsion**: v*rsion *.*.* ***W*-I***: *W*-**: Improp*r N*utr*liz*tion o* Input *urin* W** P*** **n*r*tion ('*ross-sit* S*riptin*') ***VSS v**tor v.*.***: *.

Reasoning

T** prim*ry vuln*r**ility o**urs in `**n*r*t**TML*****r`, w**r* *ustom prop*rty n*m*s (us** in m*t* t**s) *n* *yp*rlink **s* v*lu*s (in **s* `*r**`) w*r* not s*nitiz**, *s s*own in t** *ommit *i** ***in* `*tmlsp**i*l***rs`. T** `**n*r*t*Row` m*t*o*'s