Межсайтовый скриптинг в CKEditor позволяет атаковать администраторов сайтов на Drupal

Drupal

Шестнадцатого сентября 2026 года проект Drupal предупредил администраторов о нескольких уязвимостях в библиотеке CKEditor, которую ядро подключает для визуального редактирования материалов. Проблемы относятся к межсайтовому скриптингу: чужой код попадает на страницу и выполняется в браузере того, кто её открыл. Затронуты ветки Drupal 10 и 11. Помимо администраторов, пострадать может любой сотрудник с доступом к редактору, включая авторов материалов и модераторов.

Детали уязвимости

CKEditor не принадлежит команде Drupal, это внешний компонент, который поставляется вместе с ядром. Он нужен, чтобы авторы ставили заголовки, ссылки и таблицы без ручной разметки. Уязвимость нашли внутри движка библиотеки, о чём её разработчики сообщили отдельным бюллетенем. Для атаки не требуется доступ к самому редактору. Хватает права создавать или изменять материалы - такое есть у роли автора новостей, приглашённого редактора, внештатного корреспондента.

Механика выглядит так. Злоумышленник сохраняет материал с вредоносным фрагментом, а код срабатывает у того, кто откроет запись в редакторе. Специалисты называют это сохранённым межсайтовым скриптингом, потому что полезная нагрузка лежит на сервере, а не прячется в ссылке. Жертва не замечает подмены, текст выглядит обычным. Срабатывание происходит в браузере, поэтому защита самого сервера здесь не помогает.

Дальше всё зависит от того, чья учётная запись попала под удар. Перехват сессии даёт злоумышленнику те же права, что и у жертвы. Он может публиковать и удалять записи, менять настройки, подключать модули. Администраторская учётная запись в этом раскладе самый ценный трофей, поскольку открывает полный доступ к сайту. Разработчики Drupal оценили опасность в 13 баллов из 25 по своей шкале, то есть как умеренную. Частично теряются конфиденциальность и целостность данных, доступность не страдает. Эксплуатацию в бюллетене называют теоретической, публичных примеров атак нет.

Drupal выбирают для сайтов госучреждений, вузов, редакций и корпоративных порталов. Такие площадки редко обновляют быстро: мешают регламенты согласования, зависимости от сторонних модулей, боязнь что-то сломать в рабочем интерфейсе. Поэтому промежуток между публикацией бюллетеня и установкой исправлений растягивается на недели, а иногда и месяцы. Опасность в том, что атакующему не нужен внешний доступ к административной панели. Если на сайте открыта регистрация или приём материалов от внешних авторов, порог входа заметно снижается: сначала он получает скромные права, потом использует их как трамплин к учётной записи редактора или администратора.

Ядро - не единственное место, где стоит искать проблему. Дополнительные модули нередко приносят собственные плагины CKEditor, которых нет в стандартной поставке. Обновление ядра закрывает уязвимость в его собственных файлах, но оставляет нетронутыми компоненты, добавленные сторонними разработчиками. Drupal советует владельцам сайтов провести ревизию внешних библиотек и плагинов, сверив их с протоколом управления сторонними компонентами. Речь идёт о ручной работе: нужно пройтись по списку установленного и понять, что именно тянет за собой библиотеку.

Отдельного внимания заслуживает второй бюллетень CKEditor, вышедший в тот же день. В нём описана уязвимость межсайтового скриптинга с низкой оценкой опасности. Ядро Drupal она не затрагивает, зато может сказаться на нестандартных плагинах и нетиповых сборках. Владельцам сайтов с самодельными расширениями редактора стоит проверить и их.

Исправления доступны. Пользователям ветки 11.4.x нужно обновиться до 11.4.7, ветки 11.3.x - до 11.3.17, ветки 10.6.x - до 10.6.17. Ветки 11.2.x и ниже, а также 10.5.x и ниже сняты с поддержки и обновлений безопасности не получат, как и Drupal 8 с Drupal 9. Ситуация с долгоживущими установками знакомая: часть сайтов годами работает на старых ветках, потому что переход на новую версию требует пересборки шаблонов и модулей. Владельцам таких площадок стоит оценить, сколько времени и денег уйдёт на миграцию, и сравнить это с риском потерять контроль над сайтом.

Общий фон здесь важнее конкретных номеров версий. Ядро популярной системы управления контентом всё сильнее зависит от внешних библиотек: редакторов, фреймворков, компонентов интерфейса. Патч приходит не от разработчиков платформы, а от стороннего проекта, и Drupal лишь транслирует его своим пользователям. Значит, одного своевременного обновления ядра недостаточно. Полезно вести собственный учёт компонентов, следить за бюллетенями их авторов и проверять всё, что подключено к сайту помимо стандартной поставки.

Ссылки

Комментарии: 0