لماذا تشكّل PHP2Shell خطرًا على خوادم الويب؟
في 21 أكتوبر 2026، كُشف عن ثغرتين أمنيتين حرجتين في PHP تحت الاسم PHP2Shell، وتحملان المعرّفين:
CVE-2026-109618
CVE-2026-109619
تؤثر الثغرتان في PHP Runtime نفسه، وقد تسمحان لمهاجم عن بُعد بتنفيذ أوامر برمجية على خادم متأثر دون الحاجة إلى تسجيل الدخول، وفقًا لظروف الاستغلال وبيئة التشغيل.
تزداد أهمية هذه المشكلة لأن PHP يُستخدم لتشغيل عدد كبير من مواقع الويب وأنظمة إدارة المحتوى. وقد تكون الخوادم التي تستضيف تطبيقات مثل WordPress وDrupal وJoomla معرّضة للخطر إذا كانت تستخدم إصدارات PHP المتأثرة.
وتشير التقارير الأمنية المنشورة في 27 أكتوبر 2026 إلى إدراج الثغرتين في قائمة CISA للثغرات المستغلة فعليًا، ما يجعل التحديث أولوية عاجلة لمسؤولي الأنظمة.
ما هي ثغرة PHP2Shell؟
PHP2Shell هو اسم يُستخدم للإشارة إلى ثغرتين منفصلتين في PHP، وليس إلى ثغرة واحدة فقط.
كلاهما يرتبط بطريقة تعامل PHP مع حالات استثنائية أثناء معالجة الطلبات وإدارة الذاكرة، لكن لكل ثغرة سبب تقني مختلف.
1. الثغرة الأولى: CVE-2026-109618
ترتبط هذه الثغرة بمشكلة في التعامل مع حالات نفاد الذاكرة، المعروفة باسم Out-of-Memory (OOM).
عندما يتعذّر على PHP إكمال عملية بسبب نفاد الذاكرة، يستخدم آليات لإنهاء سياق التنفيذ الحالي. وقد يؤدي خلل في بعض مسارات المعالجة والتنظيف إلى ترك بيانات داخلية في حالة غير سليمة.
يمكن أن تؤثر هذه الحالة في معالجة طلبات لاحقة، وقد تؤدي إلى Memory Corruption أو تسريب بيانات من الذاكرة أو Remote Code Execution في بيئات متأثرة.
2. الثغرة الثانية: CVE-2026-109619
تتعلق هذه الثغرة بحالة تُعرف باسم Stale Global State، حيث قد تستمر بعض المتغيرات أو الحالات الداخلية في الإشارة إلى ذاكرة مرتبطة بطلب سابق بعد تحريرها.
يُعرف هذا النوع من المشكلات أيضًا بمشكلات Use-After-Free أو استخدام مراجع غير صالحة بعد تحرير الذاكرة، بحسب المسار البرمجي المعني.
إذا استُخدمت هذه البيانات لاحقًا في سياق غير سليم، فقد تنشأ ظروف تسمح بفساد الذاكرة أو الوصول إلى بيانات غير متوقعة، وقد يصل التأثير إلى تنفيذ أوامر عن بُعد.
ملاحظة مهمة: تختلف التفاصيل التقنية بين الثغرتين، لذلك يجب على فرق الأمن مراجعة التنبيه الرسمي لكل CVE بدل افتراض أن آلية الاستغلال واحدة تمامًا.
ما مستوى خطورة PHP2Shell؟
وفقًا للتقارير الأمنية، تحمل كل من الثغرتين درجة خطورة CVSS 4.0 تبلغ 9.2 من 10.
تنبع الخطورة من إمكانية الوصول إلى المشكلة عبر طلبات الويب في البيئات المتأثرة دون مصادقة مسبقة.
قد تشمل النتائج المحتملة:
Remote Code Execution (RCE): تنفيذ أوامر بصلاحيات عملية PHP.
Memory Disclosure: كشف بيانات حساسة من الذاكرة.
Arbitrary File Read: إمكانية قراءة ملفات في ظروف استغلال معينة.
Service Disruption: تعطيل التطبيقات أو العمليات المتأثرة.
Server Compromise: استخدام الخادم المخترق كنقطة انطلاق لمزيد من الهجمات.
لا يعني ذلك أن كل خادم يستخدم PHP سيكون قابلًا للاستغلال بالطريقة نفسها؛ إذ يعتمد التأثير الفعلي على إصدار PHP، وطريقة تشغيله، وإعدادات الخادم، وظروف الاستغلال.
ما الأنظمة التي قد تتأثر؟
ينبغي مراجعة كل خادم يشغّل إصدارًا متأثرًا من PHP، خصوصًا الأنظمة المتاحة عبر الإنترنت.
قد يشمل ذلك:
مواقع WordPress وتطبيقاته الإضافية.
أنظمة Drupal وJoomla.
تطبيقات PHP المخصصة.
خوادم Apache التي تستخدم
mod_php.بيئات PHP-FPM خلف Nginx أو Apache.
تطبيقات تعمل عبر
php-cgiأو بيئات تشغيل أخرى تتضمن PHP.Containers وCloud Images التي تحتوي على إصدارات PHP قديمة.
أنظمة الاستضافة المشتركة التي يدير فيها المزوّد PHP نيابة عن العملاء.
وجود WordPress أو Drupal وحده لا يثبت أن النظام قابل للاستغلال؛ العامل الأساسي هو إصدار PHP الفعلي وظروف تشغيله.
ما إصدارات PHP المتأثرة؟ وكيف يتم الإصلاح؟
الإصدارات المصححة المنشورة في 21 أكتوبر 2026 هي:
| فرع PHP | الإصدار المصحح |
|---|---|
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
إذا كان الخادم يعمل بإصدار أقدم من الإصدار المصحح في فرعه، فيجب تحديثه إلى إصدار آمن ومدعوم.
أما PHP 8.1 والإصدارات الأقدم، فهي خارج الدعم الرسمي العام؛ لذا ينبغي التحقق من تحديثات مزوّد نظام التشغيل أو الانتقال إلى فرع مدعوم. لا تفترض أن تثبيت تحديث أمني من نظام التشغيل يطابق دائمًا رقم إصدار PHP الرسمي؛ فقد تتضمن بعض التوزيعات Backported Patches.
خطوات التحديث
حدّد إصدار PHP الذي يستخدمه Web Server فعليًا، وليس إصدار CLI فقط.
حدّث PHP والحزم المرتبطة به إلى إصدار مصحح.
أعد تشغيل أو Reload لخدمات PHP-FPM أو Apache وفقًا لبيئتك.
أعد بناء Docker Images وContainers باستخدام Base Images مصححة.
اختبر التطبيقات المهمة بعد التحديث.
تحقّق من أن جميع Workers والعمليات القديمة توقفت عن استخدام النسخة السابقة.
ماذا تفعل إذا تعذّر التحديث فورًا؟
التحديث هو الحل الأساسي. وإذا تعذّر تنفيذه مباشرة، يمكن تقليل المخاطر مؤقتًا وفقًا لتقييم البيئة:
تقليل الوصول الخارجي إلى الخوادم المتأثرة.
تعطيل ميزات PHP غير الضرورية ذات الصلة بالمسارات المتأثرة، إذا أوصى التنبيه الرسمي بذلك.
تطبيق قواعد WAF مناسبة كطبقة حماية إضافية.
تشغيل خدمات PHP بصلاحيات أقل ما يمكن.
مراقبة سجلات Web Server وPHP بحثًا عن طلبات غير طبيعية وأعراض اختراق.
عزل الخوادم عالية الخطورة مؤقتًا إذا تعذّر تأمينها.
هذه الإجراءات لا تُعد بديلًا عن التحديث، ولا تضمن منع جميع طرق الاستغلال.
كيف تتحقق من احتمال وجود اختراق؟
إذا كان الخادم مكشوفًا للإنترنت ويعمل بإصدار متأثر، فابدأ بتحديد فترة التعرض ومراجعة السجلات.
ابحث عن مؤشرات مثل:
عمليات غير معتادة بدأت بواسطة Apache أو PHP-FPM.
ملفات جديدة غير معروفة في مجلدات الموقع أو الملفات المؤقتة.
تعديلات غير مبررة في ملفات التطبيق.
اتصالات Outbound غير معتادة.
تغييرات غير مصرح بها في الحسابات أو مفاتيح الوصول.
نشاط غير طبيعي في استهلاك الموارد أو إعادة تشغيل الخدمات.
لا يكفي غياب هذه المؤشرات لإثبات عدم حدوث اختراق؛ فقد لا تُسجّل جميع الأنشطة في سجلات التطبيقات.
إذا ظهرت دلائل اختراق، فاحفظ السجلات والأدلة، واعزل النظام عند الحاجة، وابدأ Incident Response قبل إعادة تشغيل الخدمات أو حذف الملفات المشبوهة.
هل تحديث WordPress يكفي لحماية الموقع؟
لا. تحديث WordPress أو القوالب أو Plugins لا يصلح بالضرورة خللًا في PHP Runtime نفسه.
ينبغي التعامل مع ثلاث طبقات بصورة منفصلة:
PHP Runtime: يجب تحديثه إلى إصدار مصحح.
Web Application: يجب تحديث WordPress أو Drupal أو التطبيق المستخدم.
Infrastructure: يجب مراجعة Containers وWeb Server وWAF وصلاحيات التشغيل.
تحديث كل طبقة يقلل المخاطر، لكن معالجة الثغرتين تتطلب التأكد من إصلاح PHP نفسه أو تطبيق تحديث موثوق من مزوّد النظام.
الخلاصة
توضح PHP2Shell أن الثغرات الموجودة في Runtime قد تتجاوز حدود التطبيق نفسه. حتى لو كان كود الموقع محدثًا، فإن تشغيله فوق إصدار PHP متأثر قد يعرّض الخادم للخطر.
الإجراء الأهم هو حصر جميع إصدارات PHP، وتطبيق التحديثات الأمنية، وإعادة تشغيل الخدمات المتأثرة، والتحقق من عدم وجود مؤشرات اختراق.
في الأمن السيبراني، سرعة التحديث مهمة، لكن التحقق من نجاحه ومراجعة مؤشرات الاختراق لا يقلان أهمية.
الأسئلة الشائعة حول PHP2Shell
ما هي PHP2Shell؟
اسم يشير إلى ثغرتين حرجتين في PHP، هما CVE-2026-109618 وCVE-2026-109619، ويمكن أن تؤديا في ظروف مناسبة إلى تنفيذ أوامر عن بُعد.
هل PHP2Shell ثغرة في WordPress؟
لا. الخلل الأساسي موجود في PHP Runtime، لكن مواقع WordPress التي تستخدم إصدارات PHP المتأثرة قد تكون معرضة للخطر.
هل يمكن استغلال PHP2Shell دون تسجيل الدخول؟
تشير التنبيهات الأمنية إلى إمكانية الاستغلال عن بُعد دون مصادقة في البيئات المتأثرة.
ما الإصدارات التي تصلح الثغرتين؟
تشمل الإصدارات المصححة PHP 8.5.12 و8.4.27 و8.3.36 و8.2.35، أو تحديثًا أحدث ضمن الفرع المناسب.
هل يكفي استخدام WAF؟
لا. قد تساعد قواعد WAF في تقليل التعرض، لكنها ليست بديلًا عن تثبيت تحديث PHP المصحح.

ليست هناك تعليقات:
إرسال تعليق