CVE-2026-27126: Craft CMS has Stored XSS in Table Field via "HTML" Column Type
A stored Cross-site Scripting (XSS) vulnerability exists in the editableTable.twig component when using the html column type. The application fails to sanitize the input, allowing an attacker to execute arbitrary JavaScript when another user views a page with the malicious table field.
Prerequisites An administrator account allowAdminChanges must be enabled in production, which is against our security recommendations.
Steps to Reproduce 1. Navigate to Settings → Fields and create a new field with Type: Table 1. Add a Column Heading and set Column Type to Single-line text - Note: The vulnerable Column Type is html, but it's not available in the UI dropdown. 1. In Default Values section, add a row with the following payload: html <img src=x onerror="alert('XSS')"> 1. Enable Static Rows 1. Intercept the Save Field request using a proxy tool (e.g., Burp Suite) or use cURL directly 1. Modify the request body and change the types[craft-fields-Table][columns][col3][type] parameter from singleline to html 1. Forward the request to save the field 1. Use the field in any object (e.g. user profile fields) → then visit the any user's profile 1. Notice the XSS execution 1. The XSS will also trigger when an administrator attempts to edit this field, as the malicious payload is executed within the field configuration page, too.
Resources
https://github.com/craftcms/cms/commit/f5d488d9bb6eff7670ed2c2fe30e15692e92c52b
Other sources
Craft is a content management system (CMS). In versions 4.5.0-RC1 through 4.16.18 and 5.0.0-RC1 through 5.8.22, a stored Cross-site Scripting (XSS) vulnerability exists in the editableTable.twig component when using the html column type. The application fails to sanitize the input, allowing an attacker to execute arbitrary JavaScript when another user views a page with the malicious table field. In order to exploit the vulnerability, an attacker must have an administrator account, and allowAdminChanges must be enabled in production, which is against Craft's security recommendations. Versions 4.16.19 and 5.8.23 patch the issue.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-27126?
CVE-2026-27126 is classified as a stored Cross-site Scripting (XSS) vulnerability.
How do I fix CVE-2026-27126?
To mitigate CVE-2026-27126, upgrade the Craft CMS to version 5.8.23 or 4.16.19 or later.
What versions of Craft CMS are affected by CVE-2026-27126?
CVE-2026-27126 affects Craft CMS versions ranging from 5.0.0-RC1 to 5.8.22 and from 4.5.0-RC1 to 4.16.18.
What is the impact of exploiting CVE-2026-27126?
Exploitation of CVE-2026-27126 allows an attacker to execute arbitrary JavaScript in the context of another user's session.
Is user input related to CVE-2026-27126 properly sanitized?
No, CVE-2026-27126 indicates that user input in the 'editableTable.twig' component is not properly sanitized, leading to XSS vulnerabilities.