Команда безопасности проекта Drupal опубликовала исправления для целого ряда критических уязвимостей. Ошибки безопасности затрагивают как популярные плагины, так и ядро системы.
Уязвимости обнаружены в модулях RESTful Web Services (используется для предоставления REST API к функциям Drupal), Coder (модуль анализа кода и миграции для старых версий) и Webform Multiple File Upload (добавляет компонент формы для загрузки пользовательских файлов). В ядре исправлена уязвимость httpoxy, о которой мы уже писали в блоге.
Согласно бюллетеню безопасности PSA-2016-001 уязвимости затрагивают до 10000 сайтов, на которых установлены указанные модули. Бюллетень PSA-2016-002 подтверждает наличие уязвимости httpoxy в восьмой ветке Drupal, где используется сторонняя библиотека Guzzle для осуществления HTTP-запросов, при этом более ранние версии Drupal 7.x не подвержены данной уязвимости.
В сети уже опубликованы эксплоиты, использующие данные уязвимости. В нашем сегодняшнем материале — их более подробное описание.
Подробности
Согласно данным Drupal Security Team модуль REST API под названием RESTful Web Services используется на 5804 сайтах. Уязвимость возможна из-за недостаточной фильтрации входящих данных перед использованием в функции
call_user_func_array()
. Злоумышленники могут использовать уязвимость для выполнения произвольного PHP-кода, отправив специальный запрос. Уязвимы версии модуля до 7.x-2.6 и 7.x-1.7. Эксплоит уже включен в состав Metasploit Framework.Модуль для анализа и миграции старого кода Coder согласно официальной статистике установлен на 4951 сайте. Уязвимость возможна из-за отсутствия проверки привилегий пользователя в скрипте, который осуществляет обновление старых модулей Drupal. На вход скрипт принимает имя файла с настройками обновления, которые попадают в функцию
unserialize()
:<?php
$parameters = unserialize(file_get_contents($path));
У атакующего есть возможность указать вместо имени файла саму структуру с помощью PHP-враппера data://. Значение одного из параметров используется без экранирования в функции
shell_exec()
:<?php
shell_exec("diff -up -r {$old_dir} {$new_dir} > {$patch_filename}");
Таким образом, уязвимость позволяет внедрить и выполнить любую команду в системе:
Уязвимы версии модуля до 7.x-2.6 и 7.x-1.3. Особенностью уязвимости является тот факт, что для эксплуатации модуль необязательно должен быть включен, нужно лишь, чтобы он присутствовал в папке с модулями. Эксплоит для этой уязвимости также недавно вошел в состав Metasploit Framework.
Модуль Webform Multiple File Upload добавляет в систему компонент для загрузки пользовательских файлов. Согласно статистике на странице модуля, его используют 3076 веб-ресурсов. Обнаруженная уязвимость позволяет выполнить PHP Object Injection — десериализацию PHP-объекта, поступающего от пользователя. В результате у атакующего есть возможность сформировать объект, который вызовет деструктор любого класса, а также проэксплуатировать уязвимости в функции unserialize(). Степень угрозы уязвимости оценивается как Critical (максимально опасным уровнем является Highly Critical), так как в системе есть лишь один полезный для атакующего деструктор, который позволяет удалить любой файл. Уязвимы версии Webform Multiple File Upload до 7.x-1.4.
К чему могут приводить уязвимости Drupal
Несмотря на то, что описанные уязвимости затрагивают далеко не все сайты, работающие на Drupal, последствия их эксплуатации все равно могут быть значительными, поскольку эту CMS используют многие организации по всему миру.
К примеру, одной из них была ставшая знаменитой на весь мир в ходе «Панамского дела» компания Mossac Fonseca — ее сайт работал на Drupal и предположительно был взломан через уязвимость системы, получившей название Drupalgeddon. Именно факт взлома мог способствовать утечке конфиденциальных документов о том, как знаменитости и политики со всего мира используют офшоры.
Как защититься
Эксперты Positive Technologies рекомендуют пользователям корпоративных ИТ-систем применять специализированные средства защиты, позволяющие бороться с описанными уязвимостями. К примеру, самообучающийся защитный экран уровня приложений PT Application Firewall уже сейчас в состоянии блокировать атаки с их использованием.
Поделиться с друзьями
webpavilion
Заголовок содержанию не соответствует, уязвимости в third-party модулях (далеко не самых популярных стоит отметить), сам drupal 7.x не при делах.