GHSA-44JG-MV3H-WJ6G

Spreadsheet of Doom: XSS in Craft CMS Freeform via Font Names

Alon Barad
Alon Barad
Software Engineer

Jan 16, 2026·5 min read·8 visits

Executive Summary (TL;DR)

The Solspace Freeform plugin relies on `PhpSpreadsheet` to handle Excel files. A flaw in how that library converts spreadsheets to HTML allows attackers to inject malicious JavaScript into the *font name* of a cell. When an admin previews a submitted form containing a malicious Excel file, the script executes, potentially leading to full account takeover.

A high-severity Cross-Site Scripting (XSS) vulnerability exists in the Solspace Freeform plugin for Craft CMS, inherited from the upstream PhpSpreadsheet library. By manipulating metadata within an Excel file—specifically the font name—an attacker can execute arbitrary JavaScript in the browser of an administrator viewing the file.

Technical Appendix

CVSS Score
7.1/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
EPSS Probability
0.04%
Top 100% most exploited

Affected Systems

Craft CMS websites using Solspace Freeform pluginPHP applications using older versions of PhpSpreadsheet

Affected Versions Detail

Product
Affected Versions
Fixed Version
solspace/craft-freeform
Solspace
< 4.1.234.1.23
AttributeDetail
Vulnerability TypeCross-Site Scripting (XSS)
Root CauseImproper Output Neutralization for Logs/Messages (CWE-116)
CVSS Score7.1 (High)
Attack VectorNetwork (User Interaction Required)
Affected ComponentPhpSpreadsheet\Writer\Html
Exploit StatusPoC Available
CWE-79
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

The software does not properly neutralize output for downstream components, allowing special characters to be interpreted as control sequences or code.

Vulnerability Timeline

Vulnerability Published
2024-10-06
Freeform 4.1.23 Released with Fix
2024-10-06

Subscribe to updates

Get the latest CVE analysis reports delivered to your inbox.