Разработчики Drupal опубликовали пять бюллетеней безопасности, охватывающих широкий спектр уязвимостей - от критической PHP Object Injection до проблем с подделкой запросов на стороне сервера и межсайтового скриптинга. Патчи доступны для всех поддерживаемых веток, при этом для критической уязвимости рекомендуется установить обновление в течение 24 часов, несмотря на наличие дополнительной защиты в облачном сервисе Drupal Steward.
Детали уязвимостей
Наиболее опасная уязвимость, зарегистрированная как CVE-2026-55803, связана с возможностью внедрения PHP-объектов через модуль JSON:API. В 2019 году в Drupal уже добавляли защиту от прямого занесения сериализованных данных в поля через веб-сервисы, однако, как показало новое исследование, этот механизм не покрывал все возможные атаки. Злоумышленник, имеющий разрешение на запись к сущностям через JSON:API, мог в редких случаях внедрить вредоносную полезную нагрузку. Разработчики подчеркивают, что для эксплуатации требуется значительный набор условий: сайт должен использовать такой тип поля ссылки на сущность, который хранит сериализованное свойство, - ни одно из стандартных полей Drupal core этому не соответствует, а созданные сторонними разработчиками поля с таким поведением крайне нетипичны. Тем не менее, патч защищает все потенциальные сценарии, поэтому обновление настоятельно рекомендовано.
Вместе с критической уязвимостью была закрыта ещё одна проблема, связанная с десериализацией, - CVE-2026-55804. Она представляет собой так называемую "gadget chain" (цепочку методов), которая сама по себе не эксплуатируется, но может быть использована для удалённого выполнения кода или SQL-инъекции, если в системе присутствует другая уязвимость, позволяющая передать непроверенные данные в функцию unserialize(). Такой вектор не является самостоятельной угрозой, однако усиливает последствия возможных подобных пробоин.
Другая уязвимость, CVE-2026-55807, затрагивает модуль Media и механизм oEmbed, отвечающий за встраивание контента с внешних площадок. Спецификация oEmbed предусматривает два способа обнаружения провайдеров: через фиксированный список providers.json и через URL-дискавери. В реализации URL-дискавери не было достаточных проверок, и злоумышленник мог заставить Drupal совершать HTTP-запросы на произвольные адреса. Для предотвращения атак типа Server-Side Request Forgery (SSRF) теперь требуется явно задать список доверенных хостов в файле settings.php с помощью параметра $settings['media_oembed_discovery_trusted_host_patterns']. Если сайт использовал только стандартный список провайдеров (YouTube, Vimeo и т.п.), изменения конфигурации не потребуются.
Проблема с загрузкой файлов была выявлена в модулях JSON:API и REST - CVE-2026-55808. Проверка ограничивалась лишь расширением файла, но не его MIME-типом. В результате злоумышленник мог загрузить файл, выдаваемый за изображение, но содержащий скриптовый код. Если веб-сервер настроен на отдачу файла по фактическому MIME-типу (например, как HTML), это ведёт к межсайтовому скриптингу (XSS). Патч добавляет проверку MIME-типа при загрузке файлов в поля изображений.
Наименьшую по степени серьёзности уязвимость получила CVE-2026-55806 - она допускает отравление кэша и открытый редирект из-за некорректной проверки заголовка Host в скрипте rebuild.php. Этот скрипт предназначен для перестроения кэша в аварийных ситуациях, и недостаток позволял перенаправить пользователя на вредоносный сайт, если злоумышленник манипулировал HTTP-заголовком Host.
Все пять уязвимостей затрагивают одни и те же версии: Drupal 10.5.x до 10.5.12, 10.6.x до 10.6.11, 11.2.x до 11.2.14, 11.3.x до 11.3.12. Версии 11.1.x, 11.0.x, 10.4.x и ниже больше не получают исправлений безопасности. Для защиты достаточно обновить ядро до актуальных сборок в зависимости от используемой ветки.
Разработчики отметили, что для критической уязвимости защита частично обеспечивается WAF-правилами в сервисе Drupal Steward, но эти правила могут не покрывать все случаи и зависеть от хостинг-провайдера. Поэтому полагаться только на них не рекомендуется. Администраторам сайтов на Drupal стоит как можно быстрее установить патчи, особенно с учётом того, что несколько уязвимостей в связке могут открыть путь к удалённому выполнению кода под учётной записью с ограниченными правами.
Ссылки
- https://drupal.org/sa-core-2026-005
- https://drupal.org/sa-core-2026-006
- https://drupal.org/sa-core-2026-007
- https://drupal.org/sa-core-2026-008
- https://drupal.org/sa-core-2026-009