CVE-2026-45247
Mirasvit Mirasvit Full Page Cache Warmer
2026-06-03
Mirasvit Full Page Cache Warmer contains a deserialization of untrusted data vulnerability that could allow unauthenticated attackers to achieve remote code execution by supplying a crafted serialized PHP object in the CacheWarmer cookie.
Технический анализ и план устранения
Суть уязвимости
Уязвимость небезопасной десериализации (Insecure Deserialization) содержится в модуле Mirasvit Full Page Cache Warmer для Magento.
Атака реализуется путем отправки специально сформированного сериализованного PHP-объекта внутри HTTP-cookie с именем CacheWarmer.
Поскольку приложение десериализует эти данные без предварительной проверки и фильтрации, неавторизованный злоумышленник может использовать цепочки гаджетов (gadget chains) для выполнения произвольного кода на сервере (Remote Code Execution, RCE).
Как исправить
Для устранения уязвимости необходимо обновить модуль до актуальной безопасной версии, в которой небезопасная десериализация PHP заменена на безопасный формат (например, JSON) или защищена сигнатурой.
Выполните процедуру обновления в корневой директории вашего Magento-проекта:
Включите режим обслуживания:
php bin/magento maintenance:enable
Обновите модуль Mirasvit Full Page Cache Warmer с помощью Composer:
composer update mirasvit/module-cache-warmer --with-dependencies
Запустите процесс обновления схемы и данных:
php bin/magento setup:upgrade
Выполните компиляцию DI:
php bin/magento setup:di:compile
Очистите кэш приложения:
php bin/magento cache:clean
Отключите режим обслуживания:
php bin/magento maintenance:disable
Временные меры
Если вы не можете применить патч незамедлительно, используйте следующие компенсирующие меры для снижения рисков:
Настройте Web Application Firewall (WAF) или правила веб-сервера для блокировки запросов, содержащих признаки сериализованных PHP-объектов в куки CacheWarmer. Типичная сигнатура начала сериализованного объекта в URL-закодированном виде — O%3A (соответствует O:).
Для временной блокировки таких запросов на уровне веб-сервера Nginx добавьте следующее правило в секцию server конфигурационного файла:
if ($http_cookie ~* "CacheWarmer=.*O%3A\d+") { return 403; }
Проверьте конфигурацию Nginx на наличие ошибок:
nginx -t
Перезапустите веб-сервер Nginx для применения изменений:
systemctl reload nginx
Пока никто не поделился опытом.
Станьте первым!