Критическая уязвимость обхода аутентификации в плагине UpdraftPlus (CVE-2026-10795) позволяет удалённо выполнить код

WordPress

Исследователи Wordfence сообщили о критической уязвимости в плагине UpdraftPlus для WordPress. Проблема имеет идентификатор CVE-2026-10795 и оценку 8.1 по шкале CVSS. Уязвимость затрагивает все версии плагина до 1.26.4 включительно. Разработчик выпустил исправление в версии 1.26.5.

Уязвимость CVE-2026-10795

Уязвимость представляет собой обход аутентификации (Authentication Bypass). Атака возможна только если сайт ранее подключался к сервису UpdraftCentral - централизованной панели управления для нескольких сайтов WordPress. В этом случае неаутентифицированный злоумышленник может отправить специальный запрос. Он выполнит произвольные RPC-команды (удалённый вызов процедур). Эти команды выполняются от имени администратора, который подключал сайт к UpdraftCentral. Потенциальная атака может привести к загрузке и активации вредоносного плагина. В результате возможно выполнение произвольного PHP-кода. Атакующий получает полный контроль над сайтом.

Причина уязвимости кроется в недостаточной проверке возвращаемого значения в функции decrypt_message() класса UpdraftPlus_Remote_Communications_V2. Когда удалённый клиент отправляет зашифрованное сообщение, плагин извлекает зашифрованный симметричный ключ. Этот ключ расшифровывается с помощью RSA-ключа сайта. Если расшифровка не удаётся из-за искажённых данных, библиотека phpseclib возвращает false. Плагин не проверяет этот результат. Он передаёт значение false в качестве ключа для алгоритма симметричного шифрования Rijndael (вариант AES). Передача false в setKey() формирует детерминированный ключ, состоящий из нулевых байтов. Злоумышленник может воспроизвести эту конфигурацию локально. Он зашифрует своё сообщение таким же нулевым ключом. Сервер успешно расшифрует это сообщение. При этом сервер считает, что сообщение получено от легитимного UpdraftCentral. Таким образом, аутентификация полностью обходится. Атакующему не нужно знать RSA-ключи сайта.

После успешной дешифровки сообщение передаётся обработчику. Обработчик вызывает функцию wp_set_current_user() с идентификатором администратора, который подключал UpdraftCentral. Все последующие проверки прав в WordPress видят этого пользователя. Атакующий получает полный административный доступ. Среди реализованных RPC-команд есть plugin.upload_plugin. Эта команда записывает произвольный ZIP-файл с плагином на диск. Команда plugin.activate_plugin активирует его. Загрузив плагин, содержащий веб-шелл, атакующий получает возможность выполнять любые PHP-команды и команды операционной системы.

Разработчик оперативно выпустил патч. В версии 1.26.5 добавили проверку возвращаемого значения decrypt(). Если расшифровка вернула false, результат не является строкой или длина меньше 16 байт, функция возвращает ошибку. Сообщение не обрабатывается.

Рекомендуется всем пользователям плагина UpdraftPlus обновить его до версии 1.26.5 или новее. Уязвимость проявляется только при наличии подключения к UpdraftCentral. Однако сайты без этой функции всё равно должны установить патч. Организации, которые не обновят плагин, рискуют потерять контроль над сайтом. Атакующие могут сканировать интернет на предмет уязвимых сайтов. Атаки могут проводиться автоматически.

Учитывая высокий рейтинг CVSS 8.1 и то, что плагин установлен на более чем 3 миллионах сайтов, данная уязвимость представляет серьёзную угрозу для экосистемы WordPress. Многие сайты могут быть подключены к UpdraftCentral. Они потенциально уязвимы. Своевременное обновление - единственная надёжная мера защиты.

Ссылки

Комментарии: 0