
حزمة إثبات مفهوم ومختبر لـ 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 / option-type على file_info الخاص بسلة الضيف. إصلاح عاجل APSB26-73 / 2.4.8-2026-jul.
POST/rest/default/V1/guest-carts/{cartId}/itemsPOST /rest/default/V1/guest-carts returns cart idPOST /rest/default/V1/guest-carts/{id}/items with custom_options file_info GIF89a + <?= witness ?> named GHSA48356-WITNESS.phpMagento\Framework\Api\ImageContentValidator::isValid getimagesizefromstring onlyMagento\Catalog\Model\Webapi\Product\Option\Type\File\Processor writes pub/media/custom_options/quote/.../GHSA48356-WITNESS.phpيحتوي JSON الخاص بـ HTTP لإضافة عنصر إلى سلة الضيف على 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
النجاح هو الشاهد أعلاه في جسم الاستجابة. استجابة 200 HTML عامة ليست كذلك.
حزمة loopback المستخدمة لإعادة الإنتاج. صور رسمية ما لم يبنِ Dockerfile في هذا المجلد من المصدر.
cd lab
docker compose up --force-recreate
اربط شجرة المنتج القابلة للاستغلال بجوار Compose إذا كان ملف YAML يثبّت دليلًا محليًا (ملف plugin 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. لا ضمان.