سامي
سامي الغامدي
مستشار Fyntralink · متاح الآن
مدعوم بالذكاء الاصطناعي · Fyntralink

ثغرة PolyShell في Magento: رفع ملفات خبيثة بدون مصادقة يهدد منصات التجارة الإلكترونية

ثغرة PolyShell تستهدف أكثر من 56% من متاجر Magento حول العالم عبر رفع ملفات PHP متخفية كصور، مما يتيح تنفيذ أكواد خبيثة بدون أي مصادقة. ما التأثير على المؤسسات السعودية؟

F
FyntraLink Team

كشف باحثون أمنيون في شركة Sansec عن ثغرة حرجة تحمل اسم PolyShell تصيب جميع إصدارات Magento Open Source وAdobe Commerce حتى النسخة 2.4.9-alpha2، وتتيح للمهاجمين رفع ملفات خبيثة وتنفيذ أكواد عن بُعد (RCE) دون الحاجة لأي مصادقة. الاستغلال الفعلي بدأ منذ 19 مارس 2026، وطال أكثر من 56% من المتاجر المعرّضة خلال أيام قليلة.

ما هي ثغرة PolyShell وكيف تعمل تقنياً؟

تكمن المشكلة في واجهة REST API الخاصة بـ Magento التي تقبل رفع الملفات ضمن خيارات عناصر سلة التسوق (cart item custom options). عندما يكون نوع خيار المنتج "file"، يعالج النظام كائن file_info يحتوي على بيانات الملف بترميز base64 ونوع MIME واسم الملف، ثم يكتبه مباشرة في المسار pub/media/custom_options/quote/ على الخادم. الثغرة الجوهرية أن النظام لا يتحقق من تطابق امتداد الملف مع نوع MIME المُعلَن، مما يفتح الباب لتقنية الـ polyglot.

ملف الـ polyglot هو ملف صالح لأكثر من صيغة في آن واحد. في هذه الحالة، يضع المهاجم ترويسة GIF89a في بداية ملف PHP يحتوي على كود خبيث، فيجتاز الملف فحص ترويسة الصورة بنجاح بينما يبقى كوداً تنفيذياً صالحاً على خادم الويب. العملية بسيطة تقنياً لكنها مدمرة في نتائجها: طلب واحد غير مصادق عبر REST API يكفي لزرع web shell كامل على الخادم.

حجم الاستغلال الفعلي والأرقام المقلقة

رصدت Sansec بدء الاستغلال الفعلي في 19 مارس 2026 بمشاركة أكثر من 50 عنوان IP في حملات المسح والاستغلال. تصاعدت الهجمات بسرعة غير مسبوقة حتى طالت 56.7% من جميع المتاجر المعرّضة بحلول نهاية مارس، وفق تقرير BleepingComputer. وبالتوازي مع ذلك، رُصدت حملة تشويه واسعة النطاق أصابت أكثر من 7,500 موقع Magento منذ 27 فبراير، حيث وضع المهاجمون ملفات تشويه نصية عبر أكثر من 15,000 نطاق مستهدف شملت منصات تجارة إلكترونية وعلامات تجارية عالمية ومواقع حكومية.

ما يزيد من خطورة الوضع أن Adobe أصدرت إصلاحاً في النسخة 2.4.9-beta1 بتاريخ 10 مارس 2026 ضمن النشرة الأمنية APSB25-94، لكن هذا الإصلاح لم يصل بعد إلى الفرع المستقر (stable branch)، مما يعني أن غالبية المتاجر في بيئات الإنتاج لا تزال معرّضة حتى صدور تحديث رسمي مستقر.

التأثير على المؤسسات المالية والتجارية السعودية

قطاع التجارة الإلكترونية السعودي يشهد نمواً متسارعاً، وكثير من المنصات تعتمد على Magento أو Adobe Commerce لتشغيل متاجرها الرقمية. عند ربط هذه المنصات ببوابات الدفع الإلكتروني، تصبح بيانات البطاقات المصرفية وبيانات العملاء في خطر مباشر. استغلال PolyShell قد يؤدي إلى سرقة بيانات الدفع عبر حقن skimmers في صفحات الدفع، أو تسريب قواعد البيانات الكاملة للعملاء، أو استخدام الخادم المُخترق كنقطة انطلاق لهجمات أعمق داخل البنية التحتية.

من المنظور التنظيمي، فإن أي اختراق يطال بيانات الدفع يُعد انتهاكاً مباشراً لمتطلبات PCI-DSS التي تلزم بحماية بيئة بيانات حامل البطاقة (CDE). كما أن تسريب البيانات الشخصية للعملاء السعوديين يقع تحت طائلة نظام حماية البيانات الشخصية (PDPL) الذي يفرض غرامات وعقوبات صارمة. أما المؤسسات المالية الخاضعة لرقابة SAMA، فإن إطار SAMA CSCC يتطلب في نطاقي إدارة الثغرات (Vulnerability Management) وأمن التطبيقات (Application Security) تطبيق ضوابط صارمة على منصات الويب المرتبطة بالخدمات المالية.

التوصيات والخطوات العملية

  1. تعطيل رفع الملفات عبر REST API فوراً: إذا لم يكن رفع الملفات عبر خيارات المنتج ضرورياً لعملك، قم بتعطيل هذه الميزة على مستوى إعدادات المنتجات أو عبر قواعد WAF تحظر الطلبات المشبوهة إلى مسار /rest/V1/guest-carts/.
  2. فحص الخوادم بحثاً عن مؤشرات الاختراق (IOCs): افحص المجلد pub/media/custom_options/quote/ بحثاً عن ملفات بامتدادات مشبوهة مثل .php أو .phtml أو ملفات تحمل ترويسة GIF89a في بدايتها مع محتوى PHP.
  3. تطبيق قواعد WAF مخصصة: أضف قواعد في جدار حماية التطبيقات (WAF) لمنع رفع ملفات تحتوي على أكواد PHP بغض النظر عن امتداد الملف أو نوع MIME المُعلَن. فحص محتوى الملف (content inspection) أهم من فحص الامتداد.
  4. تقييد صلاحيات خادم الويب: تأكد أن خادم الويب (Apache/Nginx) لا ينفّذ ملفات PHP من مجلد pub/media/. أضف توجيهات php_flag engine off أو ما يعادلها في إعدادات Nginx لمنع تنفيذ أي كود من مجلدات رفع الملفات.
  5. مراقبة سجلات الوصول: راقب سجلات الخادم بحثاً عن طلبات POST غير طبيعية إلى واجهات REST API خاصة من عناوين IP غير معروفة، مع التركيز على الطلبات التي تحتوي على حمولات base64 كبيرة الحجم.
  6. الترقية فور صدور التحديث المستقر: تابع نشرات Adobe الأمنية وطبّق التحديث فور وصوله إلى الفرع المستقر. في حال استخدام Magento Open Source، تابع مستودع GitHub الرسمي للحصول على الإصلاح.

الخلاصة

ثغرة PolyShell تُذكّرنا بأن منصات التجارة الإلكترونية ليست مجرد واجهات بيع، بل هي بوابات تتعامل مع بيانات مالية وشخصية حساسة تخضع لأطر تنظيمية صارمة. سهولة الاستغلال وسرعة انتشاره — 56% من المتاجر المعرّضة خلال أيام — تجعل الاستجابة الفورية ضرورة لا خياراً. المؤسسات السعودية التي تدير منصات Magento أو Adobe Commerce يجب أن تتعامل مع هذه الثغرة بأولوية قصوى ضمن برامج إدارة الثغرات المنصوص عليها في SAMA CSCC وNCA ECC.

هل منصتك التجارية محمية؟ تواصل مع فريق فنترالينك لتقييم أمني شامل لمنصتك الإلكترونية وفق متطلبات PCI-DSS وSAMA CSCC.

]]>