Если сайт на Drupal открывается как обычно, это ещё не подтверждает безопасность редакторского кабинета. После предупреждения о CKEditor нужно выяснить, где используется редактор, кто передаёт ему контент и какие версии действительно развёрнуты. Владельцу сайта полезно получить от подрядчика карту этих сценариев и результаты их проверки.
Кому это актуально
Материал для владельца Drupal-сайта, на котором сотрудники или внешние авторы редактируют новости, описания товаров и другие материалы. Задача — понять применимость предупреждения и принять исправление, не разбирая самостоятельно код редактора.
CKEditor — визуальный редактор: он позволяет оформлять текст без ручного написания HTML. Его кнопки могут быть доступны одной группе сотрудников, а обрабатываемое содержимое — поступать от другой. Поэтому список пользователей, которые видят панель форматирования, не описывает весь путь контента.
Какие риски закрывает проверка
16 сентября 2026 года Drupal опубликовал предупреждение SA-CORE-2026-013 об уязвимости сторонней библиотеки CKEditor. В нём описан риск XSS — выполнения постороннего JavaScript в контексте страницы. При определённой конфигурации пользователь с возможностью создать или изменить контент может воздействовать на тех, кто открывает его в CKEditor, в том числе на администратора.
Согласно предупреждению Drupal, доступ к самому визуальному редактору у такого пользователя не обязателен. Следовательно, вывод «редактор есть только у доверенных сотрудников» недостаточен для исключения риска. Проверять нужно и происхождение содержимого.
Сам факт выхода обновления не доказывает взлом конкретного сайта. Но работающая главная страница также не подтверждает, что административный сценарий защищён. Если появились неизвестные изменения материалов или прав, это отдельная причина сохранить сведения о событии и передать их на разбор.
Не проверяйте уязвимость опасным фрагментом HTML на рабочем сайте и не открывайте подозрительный материал под администратором в необновлённой среде.
Как составить карту редакторских сценариев
Попросите ответственного за сайт описать не только версии, но и путь одного материала от создания до публикации. Удобный формат: «раздел — источник текста — роль автора — формат текста — редактор — кто открывает следующим».
Дальше проверьте четыре вопроса:
- Где работает CKEditor? Нужен список разделов и форматов текста, а не ответ про CMS целиком. Если редактора в проверенном сценарии нет, его вывод нельзя автоматически переносить на другие разделы.
- Кто создаёт исходный текст? Отметьте сотрудников, внешних авторов и автоматические импорты, если они есть. Это список путей поступления данных, а не утверждение об их уязвимости.
- Кто затем открывает материал? Зафиксируйте, переходит ли текст от менее привилегированной роли к редактору или администратору. Права должны описывать реальные действия с материалом.
- Есть ли собственная сборка или дополнительные плагины? Их нужно учитывать отдельно от версии ядра Drupal. Ответ «ядро обновлено» не заменяет перечень компонентов.
Например, для условного портала можно записать: «автор создаёт черновик; редактор открывает его, меняет оформление и отправляет на публикацию». Для приёмки нужен весь этот переход. Один тест создания новости под администратором его не проверяет.
Если владелец не имеет технического доступа, достаточно собрать названия разделов и участников процесса. Пароли, личные данные авторов и содержимое закрытых материалов в такой список включать не нужно.
Какие версии сопоставить с предупреждением
На дату проверки для веток Drupal 11.4.x, 11.3.x и 10.6.x официально выпущены исправления 11.4.7, 11.3.17 и 10.6.17 соответственно. Это ориентиры для данного предупреждения, а не универсальная команда обновления любого проекта. Подрядчик должен сопоставить текущую ветку с актуальными примечаниями к релизу и ограничениями модулей.
Для Drupal 11.2.x и более старых веток 11, а также 10.5.x и более старых веток 10 официальное предупреждение указывает отсутствие поддержки безопасности. Здесь требуется план перехода на поддерживаемую ветку, а не предположение, что меньший номер означает отсутствие проблемы.
У нестандартной сборки редактора своя проверка. В сообщении разработчиков CKEditor GHSA-rh54-vffm-5fvp перечислены затронутые и исправленные версии пакетов. Номер Drupal и номер CKEditor нельзя сравнивать между собой: это разные компоненты.
Полезное подтверждение от инженера — запись «компонент, версия до, версия после, откуда взята версия, где развёрнуто». Изменённый файл зависимостей в репозитории сам по себе не показывает, какой код обслуживает рабочий сайт.
Что запросить у подрядчика
Перед работами согласуйте короткий результат, который можно проверить:
- Карту редакторских сценариев с выводом о применимости предупреждения и незакрытыми вопросами.
- План обновления ядра и отдельно учтённых компонентов, проверку восстановления из резервной копии.
- Прогон на тестовой копии с обезличенными данными и отключённой отправкой реальных уведомлений.
- Перечень действий для приёмки и ответственного за выкладку.
- Отчёт о фактически установленных версиях, результатах проверок и оставшихся ограничениях.
Владельцу не нужен архив всей переписки разработчиков. Нужны основания для решения: что затронуто, чем закрыто, что проверено и что остаётся сделать. Если обновление блокирует собственный модуль, это должно быть отдельным пунктом плана с ответственным.
Как принять результат
Проверку исправления разделите на две части. Техническая часть подтверждает применимость официального исправления к развёрнутым компонентам; функциональная показывает, что редакторы могут продолжать работу.
На тестовой среде используйте обычные безопасные материалы. Проверьте создание черновика под штатной ролью, передачу редактору, открытие, изменение и повторное сохранение. Если сайт использует таблицы, изображения или собственные кнопки редактора, включите именно эти элементы в пример.
После обновления сравните вид материала, сохранность форматирования и доступность действий для каждой роли. Зафиксируйте ожидаемый и фактический результат; необъяснимое расширение прав или потеря содержимого требуют разбора до завершения приёмки.
Успешное сохранение текста подтверждает работоспособность сценария, но не заменяет проверку версии и применимости исправления безопасности.
При обнаруженных признаках посторонней активности обновление не закрывает вопрос расследования автоматически. Инженеру нужно отдельно оценить события и возможные последствия. Не считайте отсутствие видимой ошибки доказательством, что вмешательства не было.
Как это решает OpenStart
В рамках обслуживания сайтов OpenStart занимается обновлениями CMS, исправлениями и контролем рабочих сценариев. Для такой задачи предметом диагностики будут версия Drupal, состав редактора, путь контента и ограничения обновления; конкретный объём работ определяется после проверки проекта.
Если ваш инженер уже подтвердил применимость исправления, установил его и предоставил результаты приёмки, отдельный подрядчик для этого шага может не понадобиться. Помощь полезна, когда нет актуального списка компонентов, непонятно происхождение сборки или обновление упирается в чужие доработки.
Частые вопросы
Достаточно ли временно запретить редактирование внешним авторам?
Это возможная мера ограничения доступа, которую должен оценить инженер. Она не заменяет обновление и не доказывает безопасность уже существующего контента или других путей его поступления.
Нужно ли обновлять все плагины одновременно?
Сначала нужен перечень компонентов и их зависимостей. Состав изменений выбирают по применимости исправлений и совместимости; произвольное массовое обновление усложняет поиск причины регрессии.
Можно ли принять работу по скриншоту номера Drupal?
Скриншот полезен как часть отчёта. Для нестандартного редактора дополнительно нужны сведения о его компонентах и результат проверки рабочих сценариев.
Что владелец может сделать самостоятельно?
Описать участников и путь материала, собрать вопросы о версиях, согласовать критерии приёмки. Обновление зависимостей, анализ подозрительного содержимого и изменение прав лучше поручить инженеру, который знает проект.
Источники и контекст
- Drupal Security Team: SA-CORE-2026-013, опубликовано 16 сентября 2026 года.
- CKEditor: Cross-site scripting (XSS) in the engine package, GHSA-rh54-vffm-5fvp, опубликовано 16 сентября 2026 года.
- Drupal Security Team: Third-Party Libraries and Supply Chains, PSA-2024-06-26 — о границах ответственности за сторонние библиотеки.