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 及更高版本 |
| 认证 | 无需认证(见 source map) |
| 许可证 | GNU Affero GPL v3.0 |
| 实验环境 | 仅限 127.0.0.1 · 面向厂商/客户的披露包,并非扫描器 |
ImageContentValidator 允许任何不含禁用标点符号的文件名。ImageProcessor::getFileName 保留调用方的扩展名。对访客购物车 file_info 未进行 option_id / option-type 检查。热修复 APSB26-73 / 2.4.8-2026-jul。
POST/rest/default/V1/guest-carts/{cartId}/itemsPOST /rest/default/V1/guest-carts 返回购物车 idPOST /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.php访客购物车 add-item HTTP 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(或你绑定的回环地址)。不要将此脚本指向互联网。
python3 CVE-2026-48356-Abraxas-Labs.py
成功标志是响应体中出现上述见证。普通的 200 HTML 不算。
用于复现的回环栈。除非此文件夹中的 Dockerfile 从源码构建,否则使用官方镜像。
cd lab
docker compose up --force-recreate
如果 YAML 挂载了本地目录(来自版本表的插件 zip / 源码标签),请将存在漏洞的产品代码树绑定到 Compose 旁边。除 127.0.0.1 外不要发布任何内容。
Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null
# 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 授权。不提供任何担保。