Спустя менее месяца с момента исправления (https://www.opennet.dev/opennews/art.shtml?num=48348) прошлой критической проблемы в системе управления контентом Drupal выявлена (https://www.drupal.org/sa-core-2018-004) новая уязвимость (CVE-2018-7602 (https://security-tracker.debian.org/tracker/CVE-2018-7602)), которую можно использовать для удалённого выполнения кода на сервере через отправку специально оформленного запроса. Проблема затрагивает ветки Drupal 7.x и 8.x.Опасность уязвимости усугубляет наличие (https://pastebin.com/pRM8nmwj) в открытом доступе рабочего прототипа эксплоита и использование уязвимости для проведения атак по захвату управления сайтами на базе Drupal или внедрения на них вредоносных блоков, бэкдоров или кода для майнинга криптовалюты. Всем администраторам сайтов на базе Drupal рекомендуется незамедлительно установить обновление и провести анализ логов и файлов на предмет возможной компрометации. Для исправления уязвимости оперативно сформированы (https://www.drupal.org/psa-2018-003) обновления Drupal 7.59, 8.4.8 и 8.5.3, а также подготовлен патч (https://cgit.drupalcode.org/drupal/rawdiff/?h=7.x&id=080daa3...). Новые версии пакетов для дистрибутивов сформированы для Debian (https://security-tracker.debian.org/tracker/CVE-2018-7602) и Fedora (https://bodhi.fedoraproject.org/updates/?releases=F26&type=s...) (исправление пока отсутствует в Ubuntu (https://people.canonical.com/~ubuntu-security/cve/2018/CVE-2...), FreeBSD (http://www.vuxml.org/freebsd/), EPEL (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-7602)).
Уязвимость выявлена в процессе анализа возможного проявления проблемы CVE-2018-7600, которая была обнаружена в конце марта, в других частях кода. Метод эксплуатации CVE-2018-7602 аналогичен CVE-2018-7600 и также связан с некорректной обработкой параметров, начинающийся с символа "#", который рассматривается как спецключ для вызова произвольного PHP-обработчика через
Render Arrays (https://www.drupal.org/docs/8/api/render-api/render-arrays) и Drupal Form API (https://api.drupal.org/api/drupal/developer%21topics...).
В отличие от прошлых эксплоитов, новый метод основан (https://twitter.com/_dreadlocked/status/989206562945273859) на обходе функций фильтрации сецсимволов путём кодирования символа "#" в форме последовательности "%2523", где "%25" код символа "%", т.е. строка будет декодирована в "%23", а затем "%23" будет обработан как "#" ("%23" код "#"). Например, для запуска утилиты whoami можно отправить запрос:
POST /?q=node/99/delete&destination=node?q[%2523][]=passthru%26q[%2523type]=markup%26q[%2523markup]=whoami
...
form_id=node_delete_confirm&_triggering_element_name=form_id&form_token=[CSRF-TOKEN]
Затем нужно получить значение form_build_id и инициировать выполнение операции:
POST /drupal/?q=file/ajax/actions/cancel/%23options/path/[FORM_BUILD_ID] HTTP/1.1
...
form_build_id=[FORM_BUILD_ID]
Вначале разработчики Drupal скептически отнеслись к возможности проведения реальных атак при помощи уязвимости CVE-2018-7602, но после сообщений о проведении таких атак пересмотрели свою позицию и подняли уровень опасности проблемы до "Highly critical" (20∕25). Доступный прототип эксплоита требует аутентифицированного доступа с правами удаления узлов, но судя по успешности начатой злоумышленниками атаки (https://twitter.com/unmaskparasites/status/988876779736748032), метод может быть адаптирован и для других форм.
Тем временем,
в сети зафиксирован (https://blog.netlab.360.com/botnet-muhstik-is-actively-explo.../) вариант сетевого червя Muhstik, адаптированный для получения контролля за системами через мартовскую уязвимость в Drupal (CVE-2018-7600). Несмотря на многочисленные предупреждения о необходимости установки обновления в сети остаётся большое число необновлённых хостов, чем и пользуется червь Muhstik. В том числе поражены оказались некоторые крупные сайты госучреждений и компаний. Muhstik используется злоумышленниками для построения ботнета из серверов, который может выполнять такие задачи, как проведение DDoS-атак, сканирование сетей для обнаружения новых уязвимых хостов и майнинг криптовалют XMR и BTC.
URL: https://www.drupal.org/sa-core-2018-004
Новость: https://www.opennet.dev/opennews/art.shtml?num=48495