Конкретные версии CMS с 9.0.0 по 9.5.2 уязвимы к сохраненному XSS в диалоговом окне «Пользовательский слот платы». Конечная точка custom_slot save_template авторизует запрос только к экземпляру целевой доски (canEditBoardContents()), а затем дословно сохраняет предоставленный клиентом selectedTemplateOption[collection] вместо перестроения коллекции объектов контента на стороне сервера и проверки принадлежности каждого элемента к пулу данных авторизованной доски. Таким образом, пользователь с разрешением на редактирование содержимого хотя бы одного экземпляра доски может сохранить поддельный объект сводки, поле описания которого содержит полезную нагрузку HTML, содержащую JavaScript.
Шаблон сводки по умолчанию отображает поле описания без выходного кодирования, поэтому полезные данные выполняются в браузере любого пользователя, который просматривает затронутый слот на доске, включая анонимных посетителей внешнего интерфейса и пользователей информационной панели, которые просматривают результирующее правило или блок. Это может позволить перехватить сеанс или действие и передать его администратору. Версии Concrete CMS ниже 9 не включают функцию «Доски» и не затрагиваются.
Команда безопасности Concrete CMS присвоила этой уязвимости оценку CVSS v4.0 5,8 с вектором CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:P/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N. Спасибо riodrwn за отчет.
Показать оригинальное описание (EN)
Concrete CMS versions 9.0.0 to 9.5.2 is vulnerable to Stored XSS in Board Custom Slot dialog. The custom_slot save_template endpoint authorizes the request only against the target board instance (canEditBoardContents()) and then persists the client-supplied selectedTemplateOption[collection] verbatim, rather than rebuilding the content object collection server-side and verifying that each item belongs to the authorized board's data pool. A user with permission to edit the contents of at least one board instance can therefore store a forged summary object whose description field carries a JavaScript-bearing HTML payload. The default summary template renders the description field without output encoding, so the payload executes in the browser of any user who views the affected board slot, including anonymous front-end visitors and dashboard users who preview the resulting rule or block. This can enable session or action takeover and escalation toward an administrator. Concrete CMS versions below 9 do not include the Boards feature and are not affected. The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 5.8 with vector CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:P/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N. Thanks riodrwn for reporting.
Характеристики атаки
Последствия
Строка CVSS v4.0