Craft CMS: Stored XSS via Structure entry title in table view
Description
Craft CMS is a content management system (CMS). In versions 5.0.0-RC1 through 5.9.22, an author-level control panel user can store a malicious JavaScript payload in an entry title. When an admin, or any control panel user with saveEntries for the same Structure section, drags another entry under the poisoned entry in table view, the payload executes in the victim’s session. The issue is exploitable because the title is escaped into data-title by the server, decoded again by the browser, read with jQuery .data('title'), and then concatenated into a new HTML string without attribute escaping. To exploit, an attacker must have an existing control panel account (Author role minimum), the victim must perform a drag operation (not just visit the page), and the victim’s session needs to be elevated at trigger time. This issue has been fixed in version 5.9.23.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
craftcms/cmsPackagist | >= 5.0.0-RC1, < 5.9.53 | 5.9.53 |
Patches
Vulnerability mechanics
References
4- github.com/advisories/GHSA-xrqc-p465-2xvgghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-55793ghsaADVISORY
- github.com/craftcms/cms/commit/162321e899cc97517fb6f5a02b5528f549d0c6ccghsax_refsource_MISCWEB
- github.com/craftcms/cms/security/advisories/GHSA-xrqc-p465-2xvgghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.