Критическая уязвимость в популярном WordPress-плагине WPvivid Backup & Migration затронула более 900 000 сайтов. Проблема позволяет злоумышленнику без аутентификации загрузить на сервер произвольный PHP-код и добиться его выполнения.
Уязвимости присвоен идентификатор CVE-2026-1357. По шкале CVSS она получила 9,8 балла, что соответствует критическому уровню риска. Под угрозой оказались все прежние версии плагина. Исправление включено в релиз 0.9.124, опубликованный 28 января.
По данным исследователей Wordfence, проблема связана с некорректной обработкой ошибок при расшифровке сеансового ключа RSA и отсутствием проверки пути при сохранении загруженных файлов. В результате при неудачной попытке расшифровки плагин передавал в криптобиблиотеку phpseclib ложное значение ключа. Библиотека интерпретировала его как строку из нулевых байтов, что фактически приводило к использованию предсказуемого 0-байтового ключа.
Дополнительный риск создавало отсутствие проверки типа и расширения файлов в функции send_to_site(). Это позволяло выйти за пределы защищенного каталога резервных копий и загрузить на сервер произвольный PHP-файл с размещением в публично доступной директории. После этого вредоносный код мог выполняться при обращении через браузер.
Разработчики отмечают, что эксплуатация возможна при включенной функции импорта резервных копий с других сайтов с использованием сгенерированного ключа. По умолчанию эта опция отключена, а срок действия ключа ограничен 24 часами. Тем не менее, с учетом масштаба распространения плагина риск остается значительным.
Исследователь, обнаруживший уязвимость, получил вознаграждение в размере 2145 долларов в рамках программы Wordfence Bug Bounty. Пользователям WPvivid настоятельно рекомендуется немедленно обновить плагин до актуальной версии и проверить настройки импорта резервных копий.