Разработчики Drupal выпустили обновление, устраняющее 10 уязвимостей в этой CMS-системе, в том числе весьма неприятный обход ограничений по доступу, позволявший использовать некоторые элементы, которые по идее должны быть заблокированы. Исправлен также один баг удаленного выполнения кода.
Как отмечено в бюллетене SA-CORE-2016-001, уязвимость обхода запрета, расцениваемая как критическая, открывала возможность для несанкционированного ввода данных в кнопочные элементы формы – к примеру, с помощью JavaScript. Эта проблема была решена ужесточением политики: «атакующий должен иметь доступ, чтобы отправить данные формы, для которой определены такие кнопки».
Остальные уязвимости не столь опасны и оценены как умеренно критические или менее критические.
Обход ограничений на выгрузку файлов и отказ в обслуживании в Drupal 7 и 8 позволяют заблокировать закачку на сайт многократным удалением временных файлов перед их сохранением. Уязвимость в системе XML-RPC открывает возможность для проведения брутфорс-атак.
Устранены также открытые редиректы, позволяющие подменять URL; баг в функции drupal_set_header(), чреватый внедрением HTTP-заголовка; отраженная уязвимость в ядре Drupal, с помощью которой можно заставить пользователя загрузить и открыть файл с произвольным JSON-контентом.
Наименее опасные баги, устраняемые свежим апдейтом, включают возможность десериализации пользовательских данных в ходе сессии Drupal, проблему с нестандартным вызовом функции user_save() API-интерфейса и раскрытие юзернейма, ассоциированного с адресом электронной почты.
Десериализация вводимых пользователем данных, по свидетельству разработчиков, чревата удаленным исполнением кода, однако эту уязвимость трудно тиражировать: она «требует необычных стечений обстоятельств для эксплойта и зависит от конкретного кода Drupal, работающего на сайте». Поскольку данная брешь проявляется на устаревших версиях PHP, от нее можно избавиться, обновившись до PHP 5.4.45, 5.5.29 или 5.6.13.
В результате применения патчей сборки Drupal 6.x обновятся до 6.38, 7.x – до 7.43, 8.0.x – до 8.0.4. Разработчики обращают внимание пользователей на то, что патчи для Drupal 6, включенные в данный набор, являются последними для этой версии CMS, ее срок поддержки на этом заканчивается.