В системе управления web-контентом WordPress выявлена уязвимость (CVE-2017-8295), позволяющая получить контроль над аккаунтом через манипуляции с формой сброса пароля. В частности, атакующий может без прохождения необходимой аутентификации организовать отправку владельцу аккаунта письма с кодом сброса пароля и подконтрольным email в поле отправителя (From/Return-Path). Несмотря на то, что информация об уязвимости несколько раз отправлялась разработчикам WordPress (первое уведомление было отправлено летом прошлого года), проблема до сих пор остаётся неисправленной и проявляется во всех версиях WordPress, включая самый свежий выпуск 4.7.4.
Возможность подстановки своего значения email отправителя вызвано тем, что WordPress формирует содержимое полей From и Return-Path на основе
переменной $_SERVER['SERVER_NAME'], значение которой на большинстве http-серверов формируется на основе HTTP-заголовка "Host:", который передаётся во время запроса. Если сайт на базе WordPress является основным хостом в конфигурации http-сервера, то атакующий может отправить запрос к форме сброса пароля подставив в "Host:" имя подконтрольного домена, который будет использован в составе
адреса отправителя (wordpress@домен).
Для того чтобы получить код ссылки для сброса email необходимо, чтобы письмо, отправленное владельцу аккаунта, было перенаправлено по адресу отправителя. Например, можно организовать DoS-атаку на почтовый сервер пользователя и, отправив порцию крупных писем, добиться переполнения его почтового ящика или превышения квоты. В условиях когда ящик переполнен, сообщение с кодом сброса пароля будет возвращено отправителю с уведомлением о невозможности доставки. Ещё одним вариантом является проведение атаки на пользователей, которые пользуются автоответчиками. Атакующему достаточно дождаться, когда будет активирован автоответчик (например, пользователь уедет в отпуск или командировку) и инициировать отправку письма с кодом сброса пароля, которое вернётся по адресу отправителя с уведомлением от автоответчика.
|