GitHub Advisoryadvisory · Packagist

GHSA-6j87-m5qx-9fqp Craft CMS has Stored XSS in Table Field in its "Row Heading" Column Type

LOW Published 2026-02-25 Modified 2026-08-06 Official page ↗
Aliases
CVE-2026-56383
Ecosystem
Packagist
Packages
craftcms/cms
Severity
Low
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Weaknesses
CWE-79
Reviewed
2026-02-25

Affected packages

• Packagist craftcms/cms: >= 4.5.0-beta.1, < 4.16.19 → fixed in 4.16.19 • Packagist craftcms/cms: >= 5.0.0-RC1, < 5.8.23 → fixed in 5.8.23

Description

A stored Cross-site Scripting (XSS) vulnerability exists in the `editableTable.twig` component when using the `Row Heading` column type. The application fails to sanitize input within row headings, 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 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 `Row Heading` 1. In Default Values section, add a row with the following payload: ```html ``` 1. Enable `Static Rows` 1. Use the field in any object (e.g., user profile fields) → then visit any user’s profile 1. Notice the XSS execution Resources https://github.com/craftcms/cms/commit/7b372de262b8d9d2ce859f32780c3715719b6f5a

Related

Alias · CVE (1)

  • CVE-2026-56383 Craft CMS contains a stored cross-site scripting (XSS) vulnerability in the editableTable.twig component when using the 'Row Heading'… vulnerability

Weakness · CWE (1)

  • CWE-79 Improper Neutralization of Input During Web Page Generation weakness

References