Description
Craft CMS 4.x (>= 4.0.0-RC1, < 4.17.0-beta.1) and 5.x (>= 5.0.0-RC1, < 5.9.0-beta.1) contain multiple stored cross-site scripting vulnerabilities where settings names and field option labels are rendered without sanitization (e.g., via the checkbox.twig template, which used {{ label|raw }}). An authenticated administrator (with allowAdminChanges enabled) can inject malicious payloads into section names, volume names, user group names, global set names, generated field names, checkbox/radio option labels, and custom source labels, causing arbitrary JavaScript to execute in other users' control-panel sessions. Fixed in 4.17.0-beta.1 and 5.9.0-beta.1.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
craftcms cms
Default version status: unaffected
5.0.0-RC1 to < 5.9.0-beta.1affected5.9.0-beta.1unaffected4.0.0-RC1 to < 4.17.0-beta.1affected4.17.0-beta.1unaffected
pkg:composer/craftcms/cmsReferences
- https://github.com/craftcms/cms/security/advisories/GHSA-4mgv-366x-qxvx ↗
- https://github.com/craftcms/cms/commit/943152d2246b36f12adf161a03b8695b773d9276 ↗
- https://github.com/craftcms/cms/commit/67780a778c6ec04e68e64a0b1177c168306144a2 ↗
- https://www.vulncheck.com/advisories/craft-cms-multiple-stored-cross-site-scripting-in-settings-names-and-field-options ↗