Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAttacker holds or compromises admin account
-
DeliveryNavigate to Settings
-
ExploitFields and configure Row Heading column type
-
InstallInject XSS payload in Default Values with Static Rows enabled
-
C2Victim browses page rendering the poisoned table field
-
ExecutePayload executes in victim's browser context
-
ImpactExfiltrate session token or perform actions as victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires two specific, documented prerequisites beyond network access. First, the attacker must hold a Craft CMS administrator account (PR:H per CVSS). Second, the allowAdminChanges configuration directive must be enabled in the target environment - a setting Craft CMS explicitly recommends disabling in production environments for security hardening; instances following this recommendation are not exploitable. Victim-side interaction is also required: a second user must navigate to a page that renders the affected table field containing the injected payload (UI:A in CVSS 4.0). Exploitation is scoped to Craft CMS 4.5.0-beta.1 through 4.16.18 and 5.0.0-RC1 through 5.8.22. Deployments running patched versions (4.16.19+, 5.8.23+) or those with allowAdminChanges=false in production are not exploitable. |
| Impact | The CVSS 4.0 score of 4.6 (Medium) with vector AV:N/AC:L/AT:N/PR:H/UI:A accurately captures the constrained attack surface: the PR:H metric reflects the full administrator account requirement, and UI:A reflects mandatory victim interaction - the victim must navigate to a page rendering the malicious table field. Real-world risk is further compressed because exploitation additionally requires allowAdminChanges to be enabled in production, a configuration Craft CMS explicitly flags as against its own security recommendations. No EPSS score was provided in the intelligence data, and the CVE is absent from the CISA KEV catalog, providing no signal of active exploitation. The notable risk factor is the scope change present in both the vendor CVSS 4.0 vector (SC:L/SI:L) and the CVSS 3.1 equivalent (S:C): a malicious or compromised admin can use this flaw to target lower-privileged users, potentially harvesting sessions or performing actions on their behalf. The attack is not automatable at scale due to high-privilege prerequisites, making this a targeted insider-threat or post-compromise lateral-movement scenario rather than a mass-exploitation risk. |
| Exploit ScenarioDerived | A malicious or compromised Craft CMS administrator navigates to Settings → Fields, creates or edits a Table field, adds a Row Heading column type, and enters a JavaScript payload such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 22, 2026
Stored XSS in Craft CMS's Table field component allows an authenticated administrator to persist arbitrary JavaScript via the Row Heading column type's default values, executing in the browser of any subsequent user who views a page rendering the affected table field. Affected deployments span Craft CMS 4.5.0-beta.1 through 4.16.18 and 5.0.0-RC1 through 5.8.22; patches are available in 4.16.19 and 5.8.23. No public exploit code has been identified at time of analysis and the CVE is not listed in CISA KEV, though the GHSA advisory published a working proof-of-concept payload, and real-world risk is substantially constrained by the non-default allowAdminChanges production setting.
RemediationAI
Upgrade Craft CMS to version 4.16.19 (for 4.x installations) or 5.8.23 (for 5.x installations); the upstream fix is available at https://github.com/craftcms/cms/commit/7b372de262b8d9d2ce859f32780c3715719b6f5a, with the full advisory at https://github.com/craftcms/cms/security/advisories/GHSA-6j87-m5qx-9fqp. As a compensating control for deployments that cannot patch immediately, set allowAdminChanges to false in the production environment config - this eliminates the prerequisite for exploitation entirely, since the attacker cannot modify Table field definitions without this setting enabled; the trade-off is that all field and settings changes must be made in a non-production environment and deployed via config sync. Organizations should also audit administrator account membership, as reducing the number of accounts with full admin privileges directly limits the attack surface, regardless of patch status.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in the editableTable.twig template and the Table.php field class within Craft CMS (CPE: cpe:2.3:a:craftcms:cms). CWE-79 (Improper Neutralization of Input During Web Page Generation) is the root cause: the _normalizeCellValue() method applied Html::encode() to the 'heading' column type during data normalization, but this encoding did not carry through to the HTML rendering path in _getInputHtml(). As shown in the patch diff (commit 7b372de262b8d9d2ce859f32780c3715719b6f5a), the fix removes the encode call from normalization and adds a match expression in _getInputHtml() that explicitly encodes $row[$colId] only when the column type is 'heading', ensuring sanitization occurs at the point of output rather than at an earlier pipeline stage where it was ineffective for stored values rendered later.
Know when Cms gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Admin-only write access required (PR:H), victim must load the page (UI:R), and injected JavaScript executes in other users' browser contexts causing scope change (S:C).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Craft CMS contains a stored cross-site scripting (XSS) vulnerability in the editableTable.twig component when using the 'Row Heading' column type. The application fails to sanitize input within row heading default values, allowing an attacker with an administrator account (with allowAdminChanges enabled) to inject arbitrary JavaScript that executes when another user views a page containing the affected table field. Affected versions are >= 4.5.0-beta.1 through 4.16.18 and >= 5.0.0-RC1 through 5.8.22; fixed in 4.16.19 and 5.8.23.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Cayin CMS suffers from an authenticated OS semi-blind command injection vulnerability using default credentials. Rated c
Multiple integer underflows in the icmLut_allocate function in International Color Consortium (ICC) Format library (iccl
phpKF CMS 3.00 Beta allows unauthenticated PHP file upload by disguising it as a PNG, then renaming it for execution. Po
Deserialization of Untrusted Data in the Sitecore.Security.AntiCSRF (aka anti CSRF) module in Sitecore CMS 7.0 to 7.2 an
Deserialization of Untrusted Data in the anti CSRF module in Sitecore through 9.1 allows an authenticated attacker to ex
Unauthenticated file disclosure in LavaLite CMS through 10.1.2 allows remote attackers to download private stored files
Authenticated remote code execution in Craft CMS versions 5.5.0 through 5.9.13 allows admin users to execute arbitrary P
SQL injection vulnerability in hava_post.php in Havalite CMS 1.1.0 and earlier allows remote attackers to execute arbitr
Unrestricted file upload vulnerability in hava_upload.php in Havalite CMS 1.1.0 and earlier allows remote attackers to e
Cross-site request forgery (CSRF) vulnerability in Ilch CMS allows remote attackers to hijack the authentication of admi
Multiple cross-site scripting (XSS) vulnerabilities in Havalite 1.0.4 and earlier allow remote attackers to inject arbit
A security vulnerability in juzaweb CMS (CVSS 6.3). Risk factors: public PoC available.
EUVD-2026-38177
GHSA-5w9j-w5p8-r4p7
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB