Спустя менее месяца с момента исправления (https://www.opennet.ru/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.ru/opennews/art.shtml?num=48495
Ой, опять фильтрация, лень человеческая в чистом виде.
Когда уже до этих дятлов дойдет, что бесполезно фильтровать, а нужен только белый список.
> Когда уже до этих дятлов дойдет, что бесполезно фильтровать, а нужен только белый список.никогда. Они когда становятся достаточно взрослыми, уже пилят другие проекты, а не опенсорсие.
А на их место приходит новое поколение, которое опять вместо транслятора пишет регекс, потому что ничего другого не умеет.
Если вводить белый список то друпал туда не попадёт :(
Ау! В Firefox появится защита от CSRF-атак.
> Ау! В Firefox появится защита от CSRF-атак.забыл добавить "если только её включть".
таким образом грошь ей цена.
потомучто CSRFзащиту можно было включить и раньше, например через csrftoken
Есть такое дело. Есть боты пытающиеся сие эксплуатировать...
У моего клиента один сайт на друпале похачили. На VPS несколько десятков полузаброшенных сайтов на WP, но брат жив, похачили только Друпал
Надо больше хаков, больше краж, больше вирусни, в общем, больше угара. Иначе это болото никак не проймешь.
Может просто надо нанять профессионалов и им деньги платить?
Сейчас разрабав друпол легко понять. Им влом смотреть ваши багрепорты пока сам сайт друпала не ломанут.
Н-да, недаром про 7.x знакомый вздыхал -- мол, попереколбасили. Надеюсь, TYPO3 не огребёт аналогичными граблями.
Тем, кто начинал с 6-й версии Drupal не нравится седьмая. Те, кто пилил седьмую воют на восьмую. И причем тут уязвимости? Мне вот Alt Linux ни под каким соусом не заходит, хотя это был первый дистрибутив Linux, с которым я познакомился. Ну не переношу я его, при всем уважении к труду его разработчиков.
В шестом тот же принцип с пометкой # колбэков используется, да и вообще с незапамятных времен. Просто нашли частный случай для обхода фильтра, который по стечению обстоятельств не работает в шестерке. Сам подход изначально порочен, это еще долго будет аукаться.
> В шестом тот же принцип с пометкой # колбэков используется, да и
> вообще с незапамятных времен. Просто нашли частный случай для обхода фильтра,
> который по стечению обстоятельств не работает в шестерке.или просто поленились проверить.
> Сам подход изначально порочен, это еще долго будет аукаться.
вечно. Они же ничему так и не научились.
В шестерке что эта, что предыдущая дыра также присутствует. И именно поэтому она есть в 7-ке и 8-ке, так как этот легаси код переносили без особых изменений.
> Надеюсь, TYPO3 не огребёт аналогичными граблями.Конечно нет, это же *Enterprise* Content Management System.
Drupal 7-ка уже фактически заброшена. Все не желающие переходить на 8-ку пилят Backdrop CMS (форк 7-ки).
TYPO3 другой уровень, но дырки тоже есть: https://www.cybersecurity-help.cz/vdb/SB2017122505?affChecked=1
Главное защитить инфраструктуру - поднимать веб-сервер с максимальной изоляцией сервисов.
кого и от чего ты собрался защищать?
Если вместо вебсервера твоей конторы красуется Чорный Властелин - клиенты говорят "до свидания" и идут к другим, что _еще_ после этого ты собрался защищать?Если сервер твоего проекта за пять секунд намертво встревает во все возможные и невозможные блэклисты из-за рассылки спама мегатоннами, и ты не можешь даже выслать клиенту подтвердение регистрации (и он опять удивленно пожимает плечами и идет к конкурентам) - кого и от чего ты еще собрался защищать?
Если просто тихо майнит не в твою пользу - тогда и защищать нечего и не от кого.
А если сервер для галочки, а на самом деле ты на рынке носками торгуешь, то опять же нечего и не от кого - никто и не заметит, что его поимели, еще и десять лет спустя.
Нужен вирус, удаляющий папку сайта или хотя бы устанавливающий патчи
ненужен такой вирус, нужен майнер
Drupal 6 тоже уязвим. Патчи тут - https://www.drupal.org/project/d6lts/issues/2965601
> Вначале разработчики Drupal скептически отнеслись к возможности проведения реальных атак при помощи уязвимости CVE-2018-7602, но после сообщений о проведении таких атак пересмотрели свою позициюКодеры такие кодеры.
Модуль Media (https://www.drupal.org/project/media) тоже уязвим. Исправления уже есть, кроме устаревшей ветки 1.xx.
Вышло исправление для старой версии модуля Media 1.6, закрывающее уязвимость.
https://www.drupal.org/project/media/releases/7.x-1.7