Критическая уязвимость в плагине кэширования Magento угрожает тысячам интернет-магазинов

Magento

Широко используемое расширение для платформы Magento и Adobe Commerce содержит опасную уязвимость, которая позволяет злоумышленникам выполнять произвольный код на сервере без какой-либо аутентификации. Проблема зафиксирована под идентификатором CVE-2026-45247 и получила максимальный балл 9,8 по шкале CVSS (общепринятая система оценки критичности уязвимостей). По оценкам экспертов, под угрозой находятся не менее шести тысяч онлайн-магазинов, причём реальное число может быть значительно выше из-за маскировки за CDN.

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

Исследователи компании Sansec обнаружили уязвимость типа PHP object injection - внедрение вредоносного PHP-объекта - в плагине Mirasvit Cache Warmer. Это расширение предназначено для предварительной генерации кэшированных страниц сайта. Оно позволяет магазину отображать разные версии одной страницы в зависимости от валюты, группы покупателей и других параметров. Для имитации таких сессий плагин кодирует данные состояния в cookie и отправляет их с каждым запросом. На стороне сервера расширение считывает этот cookie и восстанавливает сессию с помощью встроенной PHP-функции unserialize().

Главная проблема кроется именно в этом механизме. Обработка происходит при каждом запросе к витрине, а не только во время внутренних операций прогрева кэша. Поскольку значение cookie приходит от клиента и никак не проверяется, атакующий может подменить его специально сформированной вредоносной строкой. Функция unserialize() в PHP позволяет не только восстанавливать данные, но и создавать экземпляры произвольных классов, если это не запрещено. В плагине не установлены ограничения на то, какие классы могут быть инстанцированы. В результате злоумышленник может внедрить сериализованный объект, который при десериализации запустит цепочку гаджетов (встроенные фрагменты кода, пригодные для использования в атаке) из ядра Magento или его библиотек. Это преобразует внедрение объекта в полноценное удалённое выполнение кода.

Такая атака классифицируется как CWE-502 - десериализация недоверенных данных. Её опасность усугубляется тем, что для эксплуатации не требуется никаких учётных данных. Атакующему достаточно отправить на сервер HTTP-запрос с cookie CacheWarmer, содержащим корректно сформированную полезную нагрузку. Вредоносная строка кодируется в формат base64 - это стандартное представление двоичных данных в текстовом виде. Индикаторами атаки служат значения cookie, начинающиеся с CacheWarmer: и содержащие строки, которые в base64 начинаются с символов Tz, Qz или YT - характерных префиксов сериализованных PHP-объектов.

Уязвимы все версии Mirasvit Cache Warmer до 1.11.12 включительно. Риск дополнительно возрастает из-за того, что плагин часто поставляется в составе пакетов других расширений от Mirasvit. Многие владельцы магазинов могут даже не подозревать, что этот компонент установлен. Sansec оценивает число потенциально уязвимых магазинов как минимум в шесть тысяч, однако из-за использования CDN реальное количество инсталляций трудно подсчитать точно. Маскировка за сетью доставки контента скрывает истинную версию плагина при сканировании.

Процесс раскрытия уязвимости занял около месяца. Специалисты Sansec обнаружили проблему 24 апреля 2026 года. В тот же день компания выпустила защитное правило для своего продукта Sansec Shield (система фильтрации трафика веб-приложений). Это позволило собственным клиентам быть под защитой с самого начала. 21 мая исследователи уведомили разработчика Mirasvit, а уже 25 мая была выпущена исправленная версия 1.11.12. Такая оперативность заслуживает внимания, но учитывая, что публичное раскрытие деталей уязвимости и патча состоялось, специалисты по безопасности ожидают резкого роста числа атак в ближайшее время.

Для защиты специалистам по информационной безопасности рекомендуется в первую очередь обновить плагин до версии 1.11.12 или новее. Если немедленное обновление невозможно, следует развернуть межсетевой экран для веб-приложений (WAF), который блокирует подозрительные запросы. Например, Sansec Shield уже содержит необходимые правила. Кроме того, администраторам необходимо провести проверку на предмет компрометации. Для этого подойдут специализированные инструменты, такие как eComscan, которые ищут веб-шеллы (вредоносные скрипты для удалённого управления) и бэкдоры. Также следует тщательно просмотреть каталоги, доступные из веба, особенно папку pub/, и выявить неавторизованные PHP-файлы. Их наличие будет свидетельствовать об успешной атаке.

Легкость эксплуатации уязвимости и отсутствие необходимости в аутентификации делают возможным автоматизированные атаки в широком масштабе. Злоумышленники могут сканировать интернет на предмет уязвимых магазинов и использовать вредоносные запросы без какого-либо ручного вмешательства. Поэтому организациям, использующим Magento или Adobe Commerce, следует рассматривать эту уязвимость как критический приоритет. Промедление с обновлением может привести к утечке данных клиентов, размещению вредоносного кода на сайте или полному захвату сервера. В условиях, когда патч уже доступен, а детали атаки известны, медлить нельзя. Каждый день без исправления увеличивает риск взлома.

Ссылки

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