Сегодня WordPress выпустила исправления для устранения нового набора уязвимостей в своем основном программном обеспечении. Одна из них могла позволить злоумышленнику, отправив специально созданную веб-ссылку, которую откроет вошедший в систему администратор, установить тему из официального каталога WordPress.org без какого-либо действия со стороны пользователя.
Исследовательская фирма pwn.ai, специалисты которой сообщили об этой уязвимости, назвала цепочку атак Click2Shell. Сама по себе уязвимость позволяет лишь установить реальную тему, выбранную атакующим, но команда исследователей безопасности продемонстрировала, что ее можно объединить с отдельной слабостью в теме для выполнения собственного кода атакующего на сервере.
Исправление было выпущено 17 сентября в версии WordPress 7.1.1. Поскольку это выпуск безопасности, WordPress рекомендует немедленно обновиться. Нет никаких признаков того, что эта уязвимость использовалась в реальных атаках.
Установленная тема остается неактивной, поэтому внешний вид сайта не меняется, и ничего не выглядит подозрительно. Для выполнения кода требовалась вторая, отдельная уязвимость в установленной теме. Как pwn.ai написали об уязвимости ядра сама по себе: «Уязвимость ядра сама по себе не принимает произвольный ZIP-архив темы».
Уязвимость работает, потому что две части WordPress по-разному интерпретируют одну и ту же ссылку. Каталог WordPress.org рассматривает значение в ссылке как обычное название темы и возвращает реальную тему, но браузер администратора повторно использует исходный текст, включая знаки препинания, внутри кода, предназначенного для выбора элемента на странице. Символы, добавленные атакующим в ссылку, передают этот код кнопке «Установить», и собственный скрипт WordPress нажимает ее.
Поскольку администратор уже вошел в систему, его сессия предоставляет необходимые разрешения и токен безопасности для установки, поэтому атакующему не нужно их предоставлять.
Установленная тема не всегда бездействует. Когда WordPress создает предварительный просмотр в инструменте настройки (Customizer), он может загрузить PHP-код темы еще до ее активации.
Тема, которую использовала pwn.ai, Mobile Repair Zone, содержала вторую уязвимость: фоновый обработчик, который извлекал веб-адрес из запроса, загружал пакет и выполнял его код без проверки разрешений посетителя или токена безопасности. Примененный после принудительной установки, этот обработчик выполнял код атакующего на сервере.
Исследователи оценили уязвимость принудительной установки сама по себе как имеющую высокую степень опасности с баллом CVSS 7.1, а полную цепочку до выполнения кода — как критическую, с баллом 9.6. WordPress не опубликовал собственную оценку степени опасности, и в своем релизе описал проблему следующим образом: «Специально созданные URL-адреса могут автоматически устанавливать и предварительно просматривать неактивную тему из WordPress.org». Идентификатор CVE пока не присвоен, хотя pwn.ai утверждает, что WordPress планирует его добавить.
WordPress исправила уязвимость в версии 7.1.1, которая является частью выпуска безопасности, исправления которого распространяются на поддерживаемые ветки, начиная с версии 4.7. В примечаниях к выпуску подтверждается наличие этой уязвимости, начиная с версии 6.0 и до выпусков непосредственно перед исправлением. Владельцам сайтов следует установить 7.1.1 или соответствующее обновление для используемой ими ветки, а сайты с автоматическим обновлением получат его самостоятельно.
Если вы не можете обновиться немедленно, имейте в виду, что ни WordPress, ни pwn.ai не предложили отдельного обходного пути, и для атаки по-прежнему требуется, чтобы вошедший в систему администратор открыл ссылку атакующего. Обновление ядра WordPress закрывает продемонстрированную атаку независимо от того, какую тему использует сайт.
Click2Shell — не первая уязвимость ядра WordPress, обнаруженная этой фирмой за последние недели. В августе WordPress исправила похожую уязвимость, найденную pwn.ai на экране входа и также связанную с выполнением кода. И тогда WordPress описала риск более узко, чем исследователи.
Другая уязвимость ядра WordPress, обнаруженная в июле и названная wp2shell, не связана с работой pwn.ai. Эта уязвимость не требует входа в систему и клика, а американское кибербезопасное агентство CISA внесло ее в список использованных в реальных атаках, чего не было с Click2Shell.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Swati Khandelwal




