Критическая уязвимость PolyShell, обнаруженная специалистами Sansec, затрагивает все актуальные версии Magento Open Source и Adobe Commerce 2.x. Проблема позволяет злоумышленнику без какой‑либо аутентификации загружать на сервер произвольные файлы, что создает условия для удалённого выполнения кода (RCE) и хранимых XSS‑атак, вплоть до захвата учетных записей администраторов и клиентов.
PolyShell: уязвимость загрузки файлов в Magento и опасность polyglot‑файлов
Корневая причина уязвимости PolyShell связана с REST API Magento, обрабатывающим добавление товаров в корзину с кастомными опциями. Если у товара предусмотрена опция типа file, платформа принимает специальный объект file_info, содержащий Base64‑закодированное содержимое файла, MIME‑тип и имя файла. После декодирования этот файл сохраняется в директорию pub/media/custom_options/quote/ на сервере.
Критичность проблемы в том, что загрузка выполняется без аутентификации: злоумышленнику достаточно отправить корректно сформированный запрос к REST API, чтобы разместить произвольный файл в файловой системе магазина. Дальнейшие последствия зависят от конфигурации веб‑сервера и настроек обработки статических ресурсов.
Название PolyShell отсылает к технике использования polyglot‑файлов — файлов, которые одновременно корректно интерпретируются как, например, изображение и как исполняемый скрипт. При небезопасной конфигурации веб‑сервера такой файл может быть загружен как картинка, но при обращении к нему по URL выполнен как код, что открывает путь к RCE или внедрению хранимого XSS‑пейлоада.
Технический сценарий эксплуатации PolyShell
Типичный вектор атаки на уязвимость PolyShell выглядит так: злоумышленник формирует запрос к REST API, имитирующий добавление товара в корзину, и передает в поле file_info Base64‑кодированный polyglot‑файл. Magento сохраняет этот файл в pub/media/custom_options/quote/, после чего нападающий обращается к нему напрямую через веб‑сервер.
Если веб‑сервер неправильно настроен (например, допускает исполнение скриптов в медиа‑директориях или некорректно обрабатывает определённые расширения), загруженный файл может быть выполнен как веб‑шелл или скрипт, дающий злоумышленнику удалённый доступ к системе. В менее жёстком, но всё равно опасном сценарии файл используется для хранимой XSS, позволяя украсть сессии администраторов и модифицировать страницы магазина.
Статус патча Adobe и растущие риски для владельцев магазинов
По данным Sansec, Adobe уже отреагировала на проблему и включила исправление в бюллетень безопасности APSB25-94. Однако на момент публикации патч доступен только в предрелизной ветке 2.4.9, и отдельного обновления для текущих продакшен‑версий пока не выпущено. Это создаёт опасное окно возможностей для атак, тем более что метод эксплуатации уже активно распространяется в криминальных кругах.
Удалённое выполнение кода (RCE) в контексте интернет‑магазина означает, что атакующий может выполнить практически любые команды на сервере: от установки бэкдоров и скрытых админ‑аккаунтов до модификации платежных скриптов и подмены реквизитов для оплаты. Хранимая XSS позволяет внедрить вредоносный JavaScript прямо в интерфейс админ‑панели или витрины, что приводит к угону сессий, краже данных карт и компрометации учетных записей.
Массовый дефейс Magento‑сайтов: кампания Typical Idiot Security
Параллельно с выявлением PolyShell компания Netcraft сообщила о масштабной волне дефейса сайтов на базе Magento. Начиная с 27 февраля 2026 года злоумышленник или группа злоумышленников разместили текстовые файлы с «подписями» более чем на 7500 веб‑ресурсах. В большинстве случаев дефейс содержал одну и ту же подпись — Typical Idiot Security, под которой автор также публиковал результаты взломов в архиве Zone‑H, нарабатывая репутацию в подпольном сообществе.
Среди затронутых в этой кампании оказались поддомены и региональные витрины таких известных брендов, как Asus, BenQ, Citroën, Diesel, FedEx, Fiat, Lindt, Toyota, Yamaha, а также ряд правительственных и университетских доменов. Хотя дефейс сам по себе часто выглядит «безобидной» подменой контента, он демонстрирует полный контроль над размещением файлов и может быть лишь первым этапом более глубокой компрометации инфраструктуры.
Связь с уязвимостями неаутентифицированной загрузки файлов
По оценке Netcraft, атакующий, вероятнее всего, использует уязвимости загрузки файлов без аутентификации, схожие по характеру с PolyShell. Исследователи также отмечают параллели с уязвимостью SessionReaper, обнаруженной осенью 2025 года, которая также позволяла злоумышленникам атаковать Magento‑сайты через уязвимые механизмы сессий и загрузки.
Рекомендации по защите Magento и Adobe Commerce от PolyShell и схожих атак
До выхода полноценного патча для стабильных версий Adobe Commerce и Magento администраторам настоятельно рекомендуется немедленно внедрить комплекс временных мер защиты:
1. Ограничить доступ к директории загрузки. Заблокировать прямой доступ к pub/media/custom_options/ на уровне nginx или Apache (например, через deny all или аналогичные директивы), а также убедиться, что в этой директории запрещено выполнение любых скриптов.
2. Провести сканирование на веб‑шеллы и бэкдоры. Проверить каталог pub/media/custom_options/quote/ и другие медиа‑директории на наличие подозрительных файлов (нестандартные расширения, необычные имена, исполняемый код внутри «изображений»). Использовать специализированные сканеры безопасности и антивирусы для веб‑приложений.
3. Ужесточить конфигурацию веб‑сервера. Гарантировать, что в директориях с медиа‑файлами никогда не обрабатываются .php, .phtml и другие исполняемые типы файлов, а тип контента определяется корректно и не может быть навязан злоумышленником.
4. Ограничить и мониторить REST API. При необходимости — ограничить доступ к уязвимым endpoint’ам по IP‑адресам, применить WAF (Web Application Firewall), включить детальное логирование и оперативно анализировать подозрительные запросы на загрузку файлов.
5. Планировать немедленное обновление. Как только Adobe выпустит стабильный патч, важно без промедления обновить Magento / Adobe Commerce, предварительно протестировав обновление в тестовой среде. Задержка с установкой критических обновлений многократно повышает риск успешной атаки.
PolyShell и сопровождающая её волна дефейсов Magento‑сайтов наглядно показывают, насколько опасны уязвимости, связанные с неаутентифицированной загрузкой файлов. Администраторам и владельцам интернет‑магазинов стоит пересмотреть модель угроз, внедрить жесткие политики конфигурации веб‑сервера, регулярно проводить аудит безопасности и внимательно отслеживать бюллетени Sansec, Adobe и Netcraft. Чем быстрее будут приняты превентивные меры и установлены исправления, тем ниже вероятность того, что магазин окажется в числе скомпрометированных площадок.