
Proof-of-concept и лабораторный пакет для CVE-2026-48356 — неаутентифицированной загрузки файлов без ограничений в пользовательских опциях REST гостевой корзины Magento Open Source.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-48356
Magento Open Source 2.4.8-p5 — Adobe
Adobe Commerce подвержен уязвимости неограниченной загрузки файлов опасного типа, которая может привести к выполнению произвольного кода в контексте текущего пользователя.
| CVE | CVE-2026-48356 · CVE.org |
| CWE | CWE-434 |
| CVSS | Критический: 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N |
| Продукт | Magento Open Source |
| Затронуто | все версии вплоть до 2.4.8-p5 (включительно) |
| Исправлено | 2.4.8-2026-jul / APSB26-73 и новее |
| Аутентификация | не требуется (см. карту исходников) |
| Лицензия | GNU Affero GPL v3.0 |
| Лаборатория | только 127.0.0.1 · пакет раскрытия для вендора/клиента, не сканер |
ImageContentValidator допускает любое имя файла без запрещённой пунктуации. ImageProcessor::getFileName сохраняет расширение вызывающей стороны. Проверка option_id / типа опции для file_info гостевой корзины отсутствует. Хотфикс APSB26-73 / 2.4.8-2026-jul.
POST/rest/default/V1/guest-carts/{cartId}/itemsPOST /rest/default/V1/guest-carts возвращает id корзиныPOST /rest/default/V1/guest-carts/{id}/items с custom_options file_info GIF89a + <?= witness ?> с именем GHSA48356-WITNESS.phpMagento\Framework\Api\ImageContentValidator::isValid только getimagesizefromstringMagento\Catalog\Model\Webapi\Product\Option\Type\File\Processor записывает pub/media/custom_options/quote/.../GHSA48356-WITNESS.phpHTTP JSON добавления товара в гостевую корзину содержит GHSA48356-WITNESS.php
Сделайте это в первую очередь: Обновите Magento Open Source до 2.4.8-2026-jul / APSB26-73 или новее.
Проверка после обновления
CVE-2026-48356-Abraxas-Labs.py против исправленной сборки: сопоставленный свидетель не должен появиться.Если вы не можете обновиться немедленно
Цель — только http://127.0.0.1:8088 (или loopback, который вы привязали). Не направляйте этот скрипт в интернет.
python3 CVE-2026-48356-Abraxas-Labs.py
Успех — это свидетель выше в теле ответа. Обычный HTML 200 — это не он.
Loopback-стек, использованный для воспроизведения. Официальные образы, если только Dockerfile в этой папке не собирает из исходников.
cd lab
docker compose up --force-recreate
Привяжите дерево уязвимого продукта рядом с Compose, если YAML монтирует локальный каталог (zip плагина / тег исходников из таблицы версий). Не публикуйте ничего, кроме 127.0.0.1.
# CVE-2026-48356 (PolyShell)
CWE: CWE-434
CVSS: Critical 9.3 (Adobe CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N). Sansec: unauthenticated REST upload.
## Description
Unauthenticated unrestricted file upload in Magento/Adobe Commerce guest-cart REST custom options. A GIF89a polyglot with a `.php` name bypasses `ImageContentValidator` and is written to `pub/media/custom_options/quote/`.
## Product
Magento Open Source 2.4.8-p5 (affected through 2.4.9 / 2.4.8-p5). Lab oracle is a witness filename in the REST body, not a shell.
Этот пакет раскрытия лицензирован под GNU Affero General Public License v3.0. См. LICENSE.
Этот пакет предназначен для вендора, владельца сайта и лицензированных лабораторий. Скрипт обращается к 127.0.0.1. Использование его против систем, которыми вы не владеете, не авторизовано Abraxas Labs. Без гарантий.