КИБЕРБЕЗОПАСНОСТЬ

Drupal закрыл критическую RCE-уязвимость в Field UI

14 октября Drupal выпустил исправления критической RCE-уязвимости в Field UI: отдельные пути атаки через модули не требуют входа.

✍️ Редакция iTech News | 16.10.2026 | ⏱ 4 мин | Источник: The Hacker News
🛡

Drupal выпустил обновления для критической ошибки в модуле Field UI, которая при определённых сочетаниях с дополнительными модулями позволяет выполнить код на сервере. Уязвимость Drupal получила идентификатор CVE-2026-108097 и оценку 19 из 25 по внутренней шкале проекта; как минимум один известный сценарий атаки не требует учётной записи. Для сайтов на Drupal это повод не откладывать окно обновлений: публичного эксплойта пока нет, но такие паузы в безопасности обычно бывают короткими.

Исправления вышли 14 октября в Drupal 11.4.10, 11.3.19 и 10.6.19, сообщает The Hacker News. В ядре CMS ошибка сама по себе недостижима: для эксплуатации нужен contributed-модуль либо кастомный код, который создаёт подходящий путь к уязвимому обработчику. Это снижает число потенциально уязвимых инсталляций, но усложняет аудит: администратору недостаточно посмотреть только на версию ядра и решить, что сайт в безопасности.

Проблема скрывалась в административном интерфейсе

Field UI отвечает за страницы, где разработчики и контент-менеджеры управляют полями сущностей и настройками их отображения. Ошибка находилась в построении таблиц через render arrays — PHP-массивы, из которых Drupal формирует HTML. До исправления предварительная обработка таблицы могла вызвать PHP-функцию, указанную у строки в свойстве #region_callback, через call_user_func_array, не проверяя, допустим ли такой обработчик.

В Drupal уже существовало ограничение на выполнение недоверенных render callbacks: его добавили ещё в версии 8.8 после прежних проблем с механизмом рендеринга. Однако здесь проверка не срабатывала. Рендерер доверял штатному методу самой таблицы, а тот затем самостоятельно исполнял callback, переданный в строке. В результате защита оказывалась на один вызов раньше опасного места — классический случай, когда безопасная обвязка не спасает от небезопасного кода внутри неё.

В актуальном патче Drupal больше не вызывает callback из строки таблицы. Вместо этого система берёт регион из собственного значения строки, а при некорректном регионе использует скрытый регион таблицы либо первый доступный. Побочный эффект для команд с кастомизацией предсказуем: если внутренний код сайта полагался на #region_callback в таблицах Field UI, после обновления он перестанет выполняться. Платформа Pantheon рекомендует проверить собственные модули и отдельно протестировать страницы управления полями и отображением полей.

Кому обновляться и где не будет патча

Поддерживаемые ветки должны перейти на конкретные исправленные версии: 11.4.x — на 11.4.10, 11.3.x — на 11.3.19, 10.6.x — на 10.6.19. Для тестирования следующей ветки доступна Drupal 12.0.0-beta2, но это не релиз для продакшена. Ветки 11.2.x и ниже, 10.5.x и ниже, а также Drupal 8 и 9 уже не получат исправление. По данным телеметрии drupal.org за неделю, начавшуюся 4 октября, 151 442 из 531 499 сайтов, сообщивших свою версию ядра, работали на затронутых ветках без доступного патча — это 28,5% выборки.

Если обновление нельзя провести немедленно, Security Team советует временно удалить модуль field_ui. Это закрывает путь через уязвимую функциональность, но отключает административные страницы для управления полями и их выводом. Модуль устанавливается стандартным профилем Drupal, поэтому на типовой инсталляции он, скорее всего, присутствует. WAF-сервис Drupal Steward уже блокирует часть известных векторов, а его используют для клиентов Acquia, Pantheon, Ironstar и Skpr. Но это не замена патчу: правила не покрывают все возможные комбинации модулей и кастомного кода.

Одновременно опубликовано отдельное критическое уведомление по модулю Entity List — CVE-2026-108099. Условия похожи, включая известный путь без авторизации, но обновление ядра этот модуль не исправляет: нужна версия Entity List 3.0.10. По состоянию на неделю с 4 октября модулем пользовались 90 сайтов, отчитывающихся в статистике Drupal. Те же релизы ядра закрывают ещё две уязвимости межсайтового скриптинга средней критичности: в Link (CVE-2026-108515) и Navigation (CVE-2026-108514); для них атакующему требуется авторизация.

Для российских команд, которые поддерживают Drupal-проекты без полного реестра модулей и доработок, уязвимость Drupal — хороший тест зрелости процесса эксплуатации. Нужны не только обновление ядра, но и инвентаризация contributed-модулей, поиск использования #region_callback в репозиториях, проверка журналов веб-сервера и тест регресса административных экранов. В мае после другого бюллетеня Drupal попытки эксплуатации появились в течение двух дней, хотя тогда проблема касалась только PostgreSQL. В этот раз публичного кода атаки на момент публикации не было, но преданонс от Security Team прямо предупреждал, что эксплойты могут появиться за часы или дни. Подробности и перечень затронутых версий доступны в материале The Hacker News.

Поделиться: Telegram X LinkedIn