Новости · Безопасность

Magento и Adobe Commerce: неограниченная загрузка файлов открывает выполнение кода

Критическая уязвимость CVE-2026-48356, получившая имя «PolyShell», позволяет без авторизации загрузить на сервер Adobe Commerce или Magento Open Source файл опасного типа — а дальше выполнить на нём код. 27 октября 2026 года CISA внесла проблему в каталог активно эксплуатируемых уязвимостей, хотя патч вышел ещё в июле.

Коротко: CVE-2026-48356 (CVSS 9.6) в Adobe Commerce, Adobe Commerce B2B и Magento Open Source разрешает загрузить файл опасного типа через REST API без авторизации — жертве достаточно открыть специально сформированную ссылку. Исследователи Sansec зафиксировали атаки ещё в марте 2026 года: злоумышленники маскировали файлы под изображения, подкладывали их в каталог pub/media/custom_options/ и внедряли вредоносный JavaScript в блоки CMS сотен магазинов. Патч APSB26-73 вышел 14 июля 2026 года, но 27 октября CISA всё равно добавила уязвимость в KEV — значит, часть магазинов до сих пор не обновлена.

Опубликовано: 1 ноября 2026 Редакция LoadFile Чтение 5 мин
Взломанный замок рядом с серверной стойкой — уязвимость загрузки файлов в Magento и Adobe Commerce
Содержание
  1. Что произошло
  2. Как работает PolyShell
  3. Кого это касается
  4. Что делать прямо сейчас
  5. Что это значит для загрузки файлов на сайт
  6. Источники

Что произошло с Adobe Commerce и Magento

Adobe Commerce (бывший Magento Commerce) и его бесплатная версия Magento Open Source — одна из самых распространённых платформ для интернет-магазинов в мире. 27 октября 2026 года американское агентство кибербезопасности CISA внесло уязвимость CVE-2026-48356 в каталог активно эксплуатируемых (Known Exploited Vulnerabilities, KEV) — с оценкой критичности CVSS 9.6 по шкале Adobe. Для федеральных ведомств США установлен срок устранения до 10 ноября 2026 года.

Официальная формулировка Adobe — «неограниченная загрузка файла опасного типа» (Unrestricted Upload of File with Dangerous Type), которая «может привести к выполнению произвольного кода в контексте текущего пользователя и получению повышенного доступа к учётной записи или сессии жертвы». Атака не требует авторизации, но требует, чтобы жертва открыла специально сформированную ссылку.

!
Патч вышел ещё в июле

Исправление APSB26-73 Adobe выпустила 14 июля 2026 года — за три с половиной месяца до включения в KEV. Попадание в каталог спустя такой срок обычно означает, что атаки на непропатченные магазины продолжаются до сих пор.

Как работает атака PolyShell

Уязвимость обнаружили исследователи компании Sansec, специализирующейся на безопасности e-commerce, ещё в марте 2026 года. Проблема — в том, как REST API Adobe Commerce и Magento принимает загружаемые файлы: без должной проверки типа содержимого злоумышленник может отправить файл, замаскированный под обычное изображение, и платформа примет его без авторизации.

Загруженный файл оседает в служебном каталоге pub/media/custom_options/ — том самом месте, куда магазин сохраняет файлы, прикреплённые покупателями к кастомизированным товарам. Выполнится ли подброшенный файл как код, зависит от конфигурации веб-сервера конкретного магазина. Дальше атакующие используют закрепление на сервере, чтобы внедрить вредоносный JavaScript прямо в блоки CMS витрины — скрипт подгружается с внешнего домена и обычно ворует данные банковских карт покупателей на странице оплаты (схема, похожая на классический Magecart).

Первую крупную автоматизированную волну атак Sansec зафиксировала 30 марта 2026 года: злоумышленники массово разворачивали веб-шеллы и вредоносные скрипты на сотнях магазинов за один заход.

Кого это касается

Под угрозой — любой магазин на непропатченной версии платформы:

  • Adobe Commerce 2.4.9 и более ранние патч-версии вплоть до 2.4.4-p18;
  • Adobe Commerce B2B 1.5.3 и более ранние вплоть до 1.3.3-p18;
  • Magento Open Source 2.4.9 и более ранние вплоть до 2.4.6-p15.

Если ваш интернет-магазин работает не на Magento/Adobe Commerce — прямой угрозы нет. Но принцип атаки универсален: любая форма на сайте, которая принимает файлы от посетителей (загрузка аватара, прикрепление документа к заявке, кастомизация товара), обязана проверять реальный тип файла, а не доверять расширению или заголовку, который прислал браузер.

Что делать прямо сейчас

  1. Обновите магазин минимум до версии из бюллетеня APSB26-73 (14 июля 2026) — для своей ветки уточните актуальный патч-уровень в панели управления Adobe Commerce.
  2. Проверьте каталог pub/media/custom_options/ и соседние директории загрузок на посторонние файлы, особенно с двойным расширением или исполняемым кодом внутри «изображения».
  3. Сверьте блоки CMS витрины (баннеры, статические блоки) на наличие постороннего JavaScript, подгружаемого с незнакомых доменов.
  4. Если магазин давно не обновлялся — считайте компрометацию уже случившейся и проводите полную проверку на веб-шеллы, а не только установку патча.
✓
Главный принцип

Загрузка файлов от посетителей сайта — одна из самых частых точек входа для атак. Сервер обязан проверять реальное содержимое файла (а не расширение или MIME-заголовок) и хранить загрузки вне папок, откуда веб-сервер может их исполнить.

Что это значит для загрузки файлов на сайт

История PolyShell — ещё один пример того, что «просто картинка», которую разрешили загрузить посетителю, может оказаться вредоносным файлом с подменённым расширением. Сам факт приёма файлов на сайте не опасен, пока платформа действительно проверяет их тип по содержимому, а не полагается на имя файла. Список форматов, которые чаще всего маскируют вредоносный код, и чем их безопасно проверить — в нашей карте опасных расширений файлов.

Похожий сценарий — когда провал авторизации открывает неограниченную загрузку файлов — мы уже разбирали на примере уязвимости в WSO2 API Manager. Принцип один: функция загрузки файлов безопасна ровно до тех пор, пока сервер строго проверяет, что именно и от кого он принимает. Подробнее о проверке файлов перед открытием — в разделе безопасность файлов.

Источники

Читайте также