Уязвимость CSRF в Elementor: один клик — и у атакующего права администратора

· Безопасность
В популярном конструкторе сайтов для WordPress нашли брешь, позволяющую неаутентифицированному злоумышленнику создать чужую учётную запись администратора после клика жертвы по вредоносной ссылке.

cover.svg

В плагине Elementor Website Builder для WordPress раскрыта уязвимость высокой степени опасности: она позволяет неаутентифицированному злоумышленнику создать поддельную учётную запись администратора и полностью перехватить контроль над сайтом.

Брешь относится к классу межсайтовой подделки запроса (CSRF), пока не получила идентификатора CVE и оценена в 8,8 балла из 10 по шкале CVSS. Затронуты только версии 4.3.0 и 4.3.1 плагина, который установлен более чем на 10 миллионах сайтов WordPress. По данным WordPress.org, две уязвимые версии в сумме установлены более чем на 2 миллионах сайтов.

Достаточно одной ссылки

Как поясняет компания Patchstack, специализирующаяся на безопасности WordPress, одна ссылка, открытая авторизованным пользователем, заставляет его выполнить любое действие через REST API, доступное его учётной записи. На стандартной установке администратор, кликнувший по ссылке, создаёт вторую учётную запись администратора — уже для атакующего.

Атака не требует никаких предварительных условий: ни JavaScript, ни отправки формы, ни подконтрольной злоумышленнику веб-страницы. Ссылка может быть простым тегом-якорем, встроенным в письмо, сообщение в чате или комментарий.

В чём суть ошибки

По словам исследователей, проблема кроется в модуле Editor Events: он пропускает проверку CSRF для запросов REST API с cookie-аутентификацией всякий раз, когда в URI запроса встречается строка «elementor/v1/events/». Поскольку URI включает строку запроса, которую формирует автор ссылки, любой REST-запрос может отключить защиту, добавив безобидный на вид параметр.

Обход работает для всей поверхности REST API сайта — включая маршруты ядра WordPress и любых других установленных плагинов. Это позволяет создать администратора через маршрут «/wp/v2/users», просто добавив в запрос параметр вроде «x=elementor/v1/events/».

Выпуски Elementor до 4.3.0 не поставляют прокси Editor Events, а потому уязвимости не подвержены. Проблема устранена в версии 4.3.2, вышедшей на этой неделе после ответственного раскрытия. Обнаружение бага приписывают исследователю под псевдонимом «Saggre». Пользователям настоятельно рекомендуют как можно скорее установить обновление.


Источник: The Hacker News

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.