في 21 أكتوبر 2026 أصدر مشروع PHP تحديثات أمنية طارئة لثغرتين حرجتين، تُعرفان معًا باسم PHP2Shell. تسمح الثغرتان للمهاجم بالسيطرة على خادم الويب دون كلمة مرور، وفي بعض الإعدادات قبل أن تبدأ شيفرة الموقع نفسه بالعمل. ورُصدت محاولات استغلال خلال ساعات من صدور الإصلاح.
يُقدَّر أن PHP يشغّل ما بين 75% و80% من جميع المواقع، بما فيها WordPress، لذا يطال الأمر جزءًا كبيرًا جدًا من الويب. إليك ما حدث، ومن المعرّض للخطر، وما يجب فعله الآن وفي المستقبل.
ما PHP2Shell
PHP2Shell عبارة عن خطأين منفصلين في نواة PHP نفسها، لا في إضافة أو قالب:
- تُستثار الثغرة CVE-2026-109618 عندما تنفد ذاكرة PHP في منتصف تجهيز طلب ما. تبقى البيانات الداخلية مكتملة جزئيًا، ومع ذلك تثق بها شيفرة التنظيف. وقد يكفي إرسال نموذج كبير الحجم ومصمَّم خصيصًا لتفعيلها.
- الثغرة CVE-2026-109619 خطأ من نوع «الحالة المتبقية». تبقى معلومات طلب ما بعد تحرير الذاكرة التي تشير إليها، ويتعامل الطلب التالي الذي يعالجه عامل PHP نفسه مع هذه البقايا. وأثبت الباحثون أنه يمكن الوصول إليها عبر ميزة تتبّع تقدّم الرفع في PHP، المفعّلة افتراضيًا، والتي تعمل مع أي إرسال لنموذج قبل أن يراه التطبيق.
صُنّفت كلتاهما بدرجة 9.2 من 10 (حرجة). ويمكن لأي منهما أن تمكّن المهاجم من تشغيل شيفرته الخاصة بصلاحيات خادم الويب. ومن هناك يستطيع قراءة قواعد البيانات وملفات الإعدادات، وزرع أبواب خلفية، وإرسال رسائل مزعجة، أو استخدام الخادم لمهاجمة آخرين.
من أين جاءت
اكتشف الثغرتين باحثون أمنيون في Calif وOpenAI وWiz وأبلغوا عنهما فريق أمن PHP بشكل سري. وكان الإفصاح مقررًا في 22 أكتوبر. لكن في 20 أكتوبر تسرّبت عبر الإنترنت لقطات شاشة ومقاطع فيديو وتفاصيل جزئية عن أداة تسمى «PHP2Shell»، فقدّم مشروع PHP إصداره الطارئ إلى 21 أكتوبر الساعة 14:00 بالتوقيت العالمي.
السلوك المعرّض للخطر قديم. فوفق تحليل Abstract Security، تعود الشيفرة المتأثرة إلى PHP 5.4 الصادر عام 2012، أي أنها موجودة منذ أكثر من عقد. وهذا شائع في الأخطاء الجسيمة في البرمجيات الواسعة الانتشار: فالشيفرة التي تعمل بشكل صحيح في الاستخدام العادي قد تخفي حالة حدّية لسنوات، حتى ينظر إليها أحد بعين المهاجم.
ما يحدث الآن
- استغلال نشط: رصدت شركة الأمن watchTowr محاولات استغلال ضد شبكة مصائد الاختراق لديها في 21 أكتوبر، يوم صدور الإصلاح نفسه.
- النطاق: يقدّر VirusTotal أن أكثر من 5.1 مليون خادم PHP مكشوف على الإنترنت.
- تحذيرات رسمية: حثّ المركز الوطني للأمن السيبراني في المملكة المتحدة المؤسسات البريطانية على تحديث PHP فورًا، أو فصل الأنظمة عن الشبكة حتى تُحدَّث.
- دروع مؤقتة: نشرت Cloudflare قواعد لجدار حماية تطبيقات الويب ضد أساليب الهجوم المعروفة وأفادت برصد هجمات مبكرة. ووصفت القواعد بأنها مؤقتة وليست بديلًا عن التحديث.
- اكتمال الإصلاح موضع خلاف: يقول فريق بحثي واحد، Abstract Security، إنه أعاد إنتاج هجوم مرتبط على خادم محدّث بالكامل عبر إساءة استخدام ميزة تتبّع تقدّم الرفع نفسها. لم يؤكد مشروع PHP هذا الادعاء، لكنه سبب إضافي لتطبيق خطوات التحصين أدناه إلى جانب التحديث.
من المتأثر
أي تثبيت لـ PHP يقدّم صفحات ويب معنيّ بالأمر، أيًا كانت طريقة تشغيل PHP: PHP-FPM، أو Apache مع mod_php، أو php-cgi، أو LiteSpeed، أو FrankenPHP. ويعدّ فريق PHP أن Apache مع mod_php هو الأعلى خطورة، لأن الهجوم قد ينجح قبل تشغيل أي شيفرة من التطبيق.
الإصدارات المصلَحة هي:
| فرع PHP | المعرّض للخطر | الإصدار المصلَح |
|---|---|---|
| 8.5 | أقدم من 8.5.12 | 8.5.12 |
| 8.4 | أقدم من 8.4.27 | 8.4.27 |
| 8.3 | أقدم من 8.3.36 | 8.3.36 |
| 8.2 | أقدم من 8.2.35 | 8.2.35 |
| 8.1, 8.0, 7.4 | جميع الإصدارات | لا يوجد إصدار رسمي؛ فقط إصلاحات منقولة من المورّدين أو من الشيفرة المصدرية |
| 7.3 وما قبله | جميع الإصدارات | لا يوجد إصلاح: رقِّ إلى إصدار مدعوم |
عمليًا، يعني ذلك أن:
- WordPress وJoomla وDrupal وMagento ومعظم مواقع الشركات الصغيرة تعمل على PHP. وأمان موقعك من أمان إصدار PHP الذي يعمل عليه.
- عملاء الاستضافة المشتركة يعتمدون على مزوّد الاستضافة لتحديث PHP. كثير من المزوّدين يحدّثون تلقائيًا، لكن بعضهم لا يزال يقدّم إصدارات قديمة من PHP لم تعد تتلقى إصلاحات.
- الخوادم القديمة والمواقع المنسية هي الخطر الأكبر: فموقع تجريبي أو صفحة حملة قديمة أو نسخة اختبار تعمل بـ PHP 7 لن يُصلحها أي تحديث.
- الأجهزة الجاهزة ولوحات التحكم تتضمن أحيانًا نسخة خاصة بها من PHP لا تشملها تحديثاتك المعتادة.
ما يجب فعله الآن
- حدّد كل مكان يعمل فيه PHP. المواقع، ونسخ الاختبار، ولوحات التحكم، والأدوات الداخلية، والأجهزة الجاهزة. وابدأ بكل ما يمكن الوصول إليه من الإنترنت.
- حدّث إلى إصدار مصلَح من الجدول أعلاه، أو ثبّت الحزم المصلَحة من توزيعة Linux التي تستخدمها، والتي صدر كثير منها قبل الإعلان الرسمي.
- أعد تشغيل جميع عمليات PHP بعد التحديث. فالعمليات طويلة التشغيل تُبقي الشيفرة المعرّضة للخطر في الذاكرة حتى يُعاد تشغيلها.
- إذا كنت تستخدم استضافة مشتركة، فتحقق من إصدار PHP في لوحة تحكم الاستضافة. انتقل إلى إصدار مدعوم (8.2 أو أحدث) واطلب من مزوّد الاستضافة أن يؤكد كتابيًا تطبيق إصلاحات PHP2Shell.
- إذا لم تتمكن من التحديث اليوم، فقيّد الوصول إلى الخادم، وعطّل
session.upload_progress.enabledفي إعدادات PHP ثم أعد التشغيل، واجعل الحد الأقصى لحجم الرفع أصغر ما يسمح به موقعك. فريق PHP واضح في أن أي إعداد لا يحميك حماية كاملة، فاعتبر هذه الخطوات حلولًا مؤقتة. - ابحث عن مؤشرات الاختراق اعتبارًا من 20 أكتوبر، لا من يوم التحديث فقط. من علامات الإنذار: أخطاء PHP التي تتضمن «tried to allocate» مع «in Unknown on line 0»، وموجات من إرسال نماذج كبيرة جدًا، وملفات PHP غير مألوفة في مجلدات موقعك، ومستخدمون إداريون جدد، وتغييرات في المهام المجدولة أو مفاتيح SSH، واتصالات صادرة غير متوقعة من خادم الويب.
كيف تحمي نفسك من الثغرة التالية
لن تكون PHP2Shell آخر ثغرة حرجة في البرمجيات التي يعمل عليها الويب. هذه العادات تقلّل الضرر في المرة القادمة:
- ابقَ على الإصدارات المدعومة. البرمجيات التي انتهى دعمها لا تتلقى أي إصلاحات. ضع مواعيد الترقية في التقويم قبل انتهاء الدعم.
- اختر استضافة تحدّث بسرعة، واسأل كم يستغرق عادة وصول تحديثات PHP الحرجة إلى حسابك.
- ضع جدار حماية لتطبيقات الويب أمام موقعك. يمكن لخدمات مثل Cloudflare وشبكات توصيل المحتوى الأخرى نشر إصلاحات افتراضية خلال ساعات، ما يمنحك وقتًا ريثما تحدّث.
- أزل ما لا تستخدمه. المواقع القديمة والإضافات غير المستخدمة وميزات رفع الملفات غير الضرورية كلها أبواب إضافية.
- قلّل نطاق الضرر. شغّل كل موقع بحساب منفصل، وامنح مستخدمي قاعدة البيانات الصلاحيات التي يحتاجونها فقط، واحفظ البيانات السرية خارج مجلد الموقع.
- راقب واحتفظ بنسخ احتياطية. مراقبة تغيّر الملفات، والسجلات المحفوظة خارج الخادم، والنسخ الاحتياطية المختبَرة غير المتصلة تحوّل الكارثة إلى إزعاج بسيط.
- ضع خطة. حدّد مسبقًا من يتابع النشرات الأمنية، ومن يطبّق التحديثات الطارئة، ومن تتصل به إذا كان هناك خلل قد وقع بالفعل.
هل تحتاج إلى مساعدة؟
إذا لم تكن متأكدًا من إصدار PHP الذي تعمل عليه مواقعك، أو أردت فحصًا مستقلًا بحثًا عن مؤشرات الاختراق، فيمكن لفريقنا المساعدة. نستطيع مراجعة مدى تعرّضك للخطر، والتحقق من تطبيق الإصلاحات، والتحقيق في أي نشاط مريب وفق المعايير الجنائية. تواصل معنا أو اتصل بخطنا المتاح على مدار الساعة: +44 7520 644325.
