
Prova de conceito e pacote de laboratório para CVE-2026-48356, um upload de arquivo irrestrito e não autenticado nas opções personalizadas REST do carrinho de convidado do Magento Open Source.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-48356
Magento Open Source 2.4.8-p5 — Adobe
O Adobe Commerce é afetado por uma vulnerabilidade de Upload Irrestrito de Arquivo com Tipo Perigoso que pode resultar em execução de código arbitrário no contexto do usuário atual.
| CVE | CVE-2026-48356 · CVE.org |
| CWE | CWE-434 |
| CVSS | Crítico: 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N |
| Produto | Magento Open Source |
| Afetado | todas as versões até 2.4.8-p5 (inclusive) |
| Corrigido | 2.4.8-2026-jul / APSB26-73 e posteriores |
| Autenticação | não autenticado (ver mapa do código-fonte) |
| Licença | GNU Affero GPL v3.0 |
| Lab | apenas 127.0.0.1 · pacote de divulgação para fornecedor/cliente, não é um scanner |
ImageContentValidator permite qualquer nome de arquivo sem pontuação proibida. ImageProcessor::getFileName mantém a extensão do chamador. Nenhuma verificação de option_id / tipo de opção no file_info do carrinho de convidado. Hotfix APSB26-73 / 2.4.8-2026-jul.
POST/rest/default/V1/guest-carts/{cartId}/itemsPOST /rest/default/V1/guest-carts retorna o id do carrinhoPOST /rest/default/V1/guest-carts/{id}/items com custom_options file_info GIF89a + <?= witness ?> nomeado GHSA48356-WITNESS.phpMagento\Framework\Api\ImageContentValidator::isValid apenas getimagesizefromstringMagento\Catalog\Model\Webapi\Product\Option\Type\File\Processor grava pub/media/custom_options/quote/.../GHSA48356-WITNESS.phpO JSON HTTP de add-item do carrinho de convidado contém GHSA48356-WITNESS.php
Faça isto primeiro: Atualize o Magento Open Source para 2.4.8-2026-jul / APSB26-73 ou mais recente.
Verifique após a atualização
CVE-2026-48356-Abraxas-Labs.py contra a versão corrigida: a testemunha mapeada não deve aparecer.Se não puder atualizar imediatamente
Alvo apenas http://127.0.0.1:8088 (ou o loopback que você vinculou). Não aponte este script para a internet.
python3 CVE-2026-48356-Abraxas-Labs.py
Sucesso é a testemunha acima no corpo da resposta. Um HTML 200 genérico não é isso.
Stack de loopback usada para reproduzir. Imagens oficiais, a menos que um Dockerfile nesta pasta compile a partir do código-fonte.
cd lab
docker compose up --force-recreate
Vincule a árvore do produto vulnerável ao lado do Compose se o YAML montar um diretório local (zip do plugin / tag de código-fonte da tabela de versões). Não publique nada exceto 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.
Este pacote de divulgação é licenciado sob a GNU Affero General Public License v3.0. Ver LICENSE.
Este pacote é para o fornecedor, o proprietário do site e labs licenciados. O script se comunica com 127.0.0.1. Usá-lo contra sistemas que você não possui não é autorizado pela Abraxas Labs. Sem garantia.