12 февраля Snap Creek, создатели популярного плагина WordPress Duplicator, выпустили версии 1.3.28 и Duplicator Pro версии 3.8.7.1 для устранения серьезной уязвимости.
Duplicator — это плагин, используемый администраторами сайтов WordPress для «миграции и копирования сайтов WordPress». Согласно статистике WordPress.org, Duplicator имеет более 1 миллиона активных установок, и, согласно Snap Creek, он был загружен более 15 миллионов раз. Цифры я привожу, для понимания потенциальной опасности.
Анализ
По словам исследователей из Wordfence, в Duplicator версий 1.3.26 и ниже и Duplicator Pro версий 3.8.7 и ниже существует уязвимость, связанная с произвольной загрузкой файлов, не прошедшая проверку подлинности.
Уязвимость существует из-за реализации пары функций duplicator_download и duplicator_init. К функциям могут обращаться неавторизованные пользователи, поскольку они были реализованы с использованием хука wp_ajax_nopriv_. Исследователи отмечают, что поскольку функции «подключены к init», они будут выполняться на каждой загруженной странице WordPress, независимо от того, вошел пользователь в систему или нет.
В этих функциях параметр файла был обработан, но не проверен, поэтому злоумышленник может использовать обход пути для доступа к файлам.
Удаленный злоумышленник, не прошедший проверку подлинности, может воспользоваться этой уязвимостью, отправив специально созданный запрос на сайт WordPress с помощью уязвимой версии плагина Duplicator. Это позволило бы им скачивать файлы за пределами предполагаемого каталога. Злоумышленнику потребуется знание структуры целевого файла или попытка загрузки общеизвестных файлов.
Эти файлы могут включать файл wp-config.php, называемый «одним из наиболее важных файлов» в установке WordPress. Это связано с тем, что файл конфигурации содержит учетные данные базы данных, ключи аутентификации. Злоумышленник может использовать эту информацию, чтобы создать собственную учетную запись администратора на уязвимом сайте или «внедрить контент или собрать данные».
Как сообщается, Wordfence заблокировал более 60 000 попыток загрузки файла wp-config.php с помощью этой уязвимости. Они отмечают, что из 60 000 попыток 50 000 произошли до 12 февраля, до того, как Snap Creek выпустил исправление для уязвимости.
Подтверждение уязвимости
На момент публикации этого сообщения в блоге не существовало доказательств подтверждения концепции (PoC) для этой уязвимости. Тем не менее, в блоге Wordfence достаточно информации , чтобы легко создать PoC.
Решение проблемы
12 февраля компания Snap Creek устраняла эту уязвимость в Duplicator версии 1.3.28 и Duplicator Pro версии 3.8.7.1.
Wordfence предоставил показатели компрометации для выявления атак, использующих эту уязвимость. Большинство атак, которые они видели, происходят со следующего IP-адреса:
77.71.115.52
Кроме того, просмотрите журналы HTTP для запросов, которые включают следующие строки запросов:
action=duplicator_download
file=/../wp-config.php
Самый надежный показатель — содержит ли запрос параметр файла, поскольку он необходим для использования этой уязвимости.