Незакрытая брешь в WordPress позволяет угнать сайт

28 июня 2018 г., четверг

Эксплойт требует прав автора сайта или выше и позволяет удалить любой файл, в том числе wp-config.php.

Исследователи из германской компании RIPS Technologies, специализирующейся на аудите PHP-приложений, опубликовали детали уязвимости, обнаруженной ими в WordPress более полугода назад и до сих пор не пропатченной.

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

Эксплойт этой уязвимости требует доступа к пост-редактору WordPress (прав автора или выше) и позволяет удалить любой файл на сервере, в том числе wp-config.php — конфигурационный файл, отсутствие которого автоматически запустит повторную установку CMS-системы. Если при этом злоумышленнику удастся создать учетную запись администратора под своими идентификаторами, он получит возможность выполнять любой код на сервере.

Наличие данной бреши также открывает возможность для обхода других механизмов защиты. Так, в файле .htaccess иногда указаны ограничения на доступ к определенным папкам, и удаление этого файла приведет к откату этих мер безопасности. Еще один пример: во избежание слива листинга каталогов в них зачастую добавляются пустые файлы index.php; удалив их, автор атаки сможет просмотреть списки всех файлов в защищенных таким образом директориях.

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

Уведомление о новой бреши было направлено команде WordPress в ноябре; в своем отчете исследователи подчеркнули, что уязвимости подвержены все сборки CMS-системы, включая новейшую — 4.9.6. Поскольку патч так и не вышел, RIPS решила опубликовать свою находку вместе с видеороликом, демонстрирующим успешный угон сайта. Исследователи также создали “горячую заплатку”, которую можно использовать в качестве временной меры, добавив в файл functions.php текущей темы.

Threatpost