
CVE-2026-48356(Magento Open SourceのゲストカートRESTカスタムオプションにおける未認証の無制限ファイルアップロード)の概念実証およびラボパック。
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 | Critical: 9.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N |
| Product | Magento Open Source |
| Affected | 2.4.8-p5 までのすべてのバージョン(含む) |
| Patched | 2.4.8-2026-jul / APSB26-73 以降 |
| Auth | 未認証(ソースマップを参照) |
| License | GNU Affero GPL v3.0 |
| Lab | 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 がカート ID を返すPOST /rest/default/V1/guest-carts/{id}/items に custom_options file_info GIF89a + <?= witness ?> を GHSA48356-WITNESS.php という名前で指定Magento\Framework\Api\ImageContentValidator::isValid は getimagesizefromstring のみMagento\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 によって許可されていません。保証はありません。