Pull to refresh

Уязвимости нулевого дня в Wordpress и Vanilla Forums позволяют удаленно взламывать сайты

Positive Technologies corporate blogInformation SecurityWordPress


Изображение: Andrew Abogado, CC BY 2.0

Исследователь информационной безопасности Давид Голунски (Dawid Golunski) опубликовал данные о критических уязвимостях в WordPress — они позволяют осуществлять удаленное выполнение shell-команд и сброс пароля администратора через подмену заголовка Host. Кроме того, исследователь рассказал о двух аналогичных критических уязвимостях в открытом продукте Vanilla Forums.

Уязвимость WordPress


Обнаруженная Голунски уязвимость (CVE-2017-8295) затрагивает все версии WordPress, включая сборку 4.7.4. По словам исследователя, он неоднократно передавал информацию о проблемах безопасности разработчикам продукта, однако они до сих пор не выпустили официальное исправление.

Атака подробно описана в специальном бюллетене безопасности, опубликованном Голунски. Ее суть заключается в использовании логической ошибки в механизме восстановления пароля Wordpress. Когда пользователь запрашивает такую смену, WordPress генерирует уникальный секретный код и отправляет его на email, который хранится в базе.

При отправке этого сообщения для получения имени хоста сервера используется переменная SERVER_NAME — это нужно, чтобы установить значения в поля From/Return-Path. В поле «From» хранится адрес отправителя, а в «Return-Path» — адрес, на который должны доставляться сообщения 'bounce-back', они генерируются в случае сбоя отправки.



По словам Голунски, злоумышленник может отправить специальный HTTP-запрос с предустановленным значением hostname (например, attacker-mxserver.com) и одновременно инициировать процесс сброса пароля для какого-либо пользователя — к примеру, администратора сайта.

Поскольку имя хоста в HTTP-запросе — это домен, контролирующийся атакующим, поля From и Return-Path в письме для сброса пароля будут изменены таким образом, что в них будет включен почтовый адрес, связанный с доменом хакера — например, wordpress@attacker-mxserver.com вместо wordpress@victim-domain.com.

Письмо с кодом для сброса пароля будет все равно отправлено на адрес жертвы, однако при определенных условиях получить его сможет и атакующий.

  1. Если жертва ответит на письмо, то ответ уже будет отправлен на адрес взломщика (теперь он хранится в поле From), а в истории переписки сохранится ссылка на сброс пароля.
  2. Если по какой-то причине доставка письма жертве не удастся, то сообщение о сбое будет автоматически перенаправлено на адрес злоумышленника (он указан в Return-Path).
  3. Другой возможный сценарий — для того, чтобы первоначальное сообщение не было доставлено жертве, злоумышленник может провести DDoS-атаку на email-сервер целевого пользователя или отправить на его адрес большое количество писем, добившись того, что почтовый адрес больше не сможет принимать сообщения. Таким образом произойдет сбой доставки, и сообщение об это будет доставлено атакующему.

Манипуляции с заголовком SERVER_NAME с помощью HTTP-заголовка Host могут быть осуществлены на «дефолтных» настройках веб-сервера Apache, который чаще всего используется для развертывания WordPress.

Поскольку официального патча для закрытия уязвимости не существует, администраторов сайтов на WordPress рекомендуется обновить конфигурацию, активировав опцию UseCanonicalName — это позволит установить статическое значение SERVER_NAME и сделает проведение атаки невозможным.

Что не так с Vanilla Forums


Спустя неделю после обнаружения ошибки безопасности в WordPress, Голунски также опубликовал информацию о двух критических уязвимостях в популярном open source софте Vanilla Forums. Первая из них (CVE-2016-10033) открывает возможность удаленного исполнения кода, а вторая (CVE-2016-10073) аналогична уязвимости в WordPress и позволяет проводить атаки по перехвату сообщений для сброса пароля. Для обеих ошибок в данный момент отсутствует патч. Уязвима в том числе последняя версия Vanilla Forums 2.3, исследователь уверен в том, что предыдущие версии также уязвимы.



По мнению Голунски, возможность удаленного выполнения shell-команд появилась в Vanilla Forums из-за того, что разработчики продукта до сих пор используют уязвимую версию популярной open source-библиотеки для отправки email-писем PHPMailer. Исследователь обнаружил уязвимости в январе 2017 года и передал информацию разработчикам, ошибки не были исправлены и спустя примерно пять месяцев Голунски опубликовал информацию о них. Аналогичная уязвимость была ранее обнаружена исследователем в Wordpress.

В прошлом году исследователь отчитывался об обнаружении критической уязвимости (CVE-2016-10033) в библиотеке PHPMailer, которая позволяла осуществлять удаленное исполнение shell-команд в контексте веб-сервера — это приводит к компрометации атакуемого веб-приложения. Голунски также подготовил видео, из которого становится понятно, что для атаки на Vanilla Forums подходит старый эксплоит для PHPMailer.



Исследователь отмечает, что уязвимость может быть эксплуатирована даже в том случае, если Vanilla Forums установлен на веб-сервере Apache с несколькими включенными vhosts, а сам атакуемый софт не является виртуальным хостом по умолчанию.

До тех пор пока разработчики Vanilla Forums не выпустили обновление, Голунски рекомендует администраторам сайтов, которые используют этот софт, установить в качестве email-адреса отправителя заранее заданное статическое значение — это заблокирует использование заголовков Host.

Для предотвращения атак с использованием описанных уязвимостей WordPress и Vanilla Forums эксперты Positive Technologies рекомендуют использовать специализированные инструменты защиты — в частности, защитный экран уровня приложений PT Application Firewall позволяет отражать попытки эксплуатации этих ошибок безопасности.
Tags:wordpressvanilla forumsвебуязвимости
Hubs: Positive Technologies corporate blog Information Security WordPress
Total votes 27: ↑21 and ↓6 +15
Views14.4K
Middle Frontend Developer (Angular)
Positive TechnologiesСанкт-ПетербургRemote job
Senior Frontend Developer (Angular)
Positive TechnologiesСамараRemote job
Senior Frontend Developer (Angular)
Positive TechnologiesМоскваRemote job
Lead Frontend Developer (Angular)
Positive TechnologiesНовосибирскRemote job
Lead Frontend Developer (Angular)
Positive TechnologiesМоскваRemote job

Top of the last 24 hours

Information

Founded
2002
Location
Россия
Website
www.ptsecurity.com
Employees
501–1,000 employees
Registered

Habr blog