تم الكشف عن ثغرتين أمنيتين حرجتين تتيحان تنفيذ التعليمات البرمجية عن بعد (RCE) في بيئة تشغيل PHP الأساسية تحت الرقمين CVE-2026-109618 وCVE-2026-109619. تمثل هاتان الثغرتان شق التنفيذ البرمجي ضمن مجموعة أوسع من ثغرات نواة PHP أطلقت عليها شركة أبحاث السحابة Wiz اسم PHP2Shell. وفقاً لبيانات Wiz، تشمل مجموعة PHP2Shell ثغرات متعددة وحرجة — تتراوح بين كشف الذاكرة على غرار Heartbleed إلى تنفيذ الأوامر دون مصادقة — مما يؤثر على كل إصدار من إصدارات PHP الصادرة خلال العقد الماضي وصولاً إلى الإصدار 5.4، ويهدد خوادم تشغل 70% من كافة مواقع الويب عالمياً. يجب على مسؤولي الأنظمة فحص وترقية بيئات التشغيل فوراً، بينما يتعين على المستخدمين العاديين اتباع إرشادات الحماية الرقمية الأساسية.

يستعرض هذا الدليل الأسباب الجذرية لخلل الذاكرة، ويوضح جدول التحديثات الرسمية لنسخ PHP، ويقدم نصائح عملية للمستخدمين وقائمة خطوات مختصرة لمديري الخوادم.

تفاصيل الحادثة: ثنائية ثغرات php2shell

وفقاً للنشرة الأمنية الصادرة عن قاعدة بيانات الثغرات الوطنية (NVD) في 21 أكتوبر 2026، تقع الثغرتان داخل مخصص الذاكرة ودورة حياة معالجة الطلبات في محرك Zend Engine الأساسي المشغل للغة PHP.

عند حدوث خطأ فادح غير متوقع أو نفاد للذاكرة (OOM) أثناء معالجة الطلب، تعتمد بيئة PHP على بنية longjmp لإيقاف السياق فوراً وتفريغ مكدس التنفيذ. في الإصدارات غير المحدثة، يؤدي هذا التوقف المفاجئ إلى إرباك تتبع الذاكرة الداخلي، مما ينتج عنه حالتان خطيرتان:

  1. إعادة استخدام ذاكرة غير مهيأة (CVE-2026-109618): عند تعثر تخصيص الذاكرة في منتصف المعالجة، تظل مساحات الذاكرة المخصصة لمتغيرات الطلب غير مهيأة. تقوم إجراءات التنظيف اللاحقة لعملية المعالجة بقراءة هذه المساحات، مما يؤدي إلى تلف الذاكرة وإتاحة تنفيذ التعليمات البرمجية.
  2. الرجوع إلى حالة عامة قديمة (CVE-2026-109619): تفشل المؤشرات العامة المؤقتة في مسح مراجعها نحو ذاكرة الطلب الملغى. وعند معالجة الطلب التالي بواسطة نفس العملية، فإنها تتفاعل مع عناوين ذاكرة تم تحريرها مسبقاً، مما يمنح المهاجمين القدرة على التلاعب بمسار التحكم في التطبيق.

نظراً لأن عمليات PHP المستمرة (مثل PHP-FPM أو حاويات التطبيقات) تعالج مئات الطلبات المتتالية قبل إعادة تشغيلها، يستطيع المهاجمون عبر الإنترنت إرسال حمولات HTTP مصممة خصيصاً لإحداث نفاد في الذاكرة والسيطرة على خادم الويب دون الحاجة لبيانات تسجيل دخول.

الإصدارات المتأثرة والتحديثات الرسمية

أصدر فريق تطوير PHP التحديثات الأمنية الرسمية لكافة الفروع المدعومة في 22 أكتوبر 2026. ينبغي على كل جهة تدير خوادم ويب فحص بنيتها التحتية وفقاً للجدول التالي:

الفرع الإصدارات المصابة الإصدار الآمن حالة الدعم
PHP 8.5 من 8.5.0 إلى 8.5.11 8.5.12 دعم نشط (Active support)
PHP 8.4 من 8.4.0 إلى 8.4.26 8.4.27 دعم نشط (Active support)
PHP 8.3 من 8.3.0 إلى 8.3.35 8.3.36 إصلاحات أمنية فقط
PHP 8.2 من 8.2.0 إلى 8.2.34 8.2.35 إصلاحات أمنية فقط (ينتهي 31/12/2026)
PHP 8.1 والإصدارات السابقة كافة الإصدارات لا يوجد منتهي الصلاحية (End of Life)

وفقاً لوثائق الدعم الرسمية للغة PHP، تتلقى الفروع ذات الدعم النشط (PHP 8.4 وPHP 8.5) إصلاحات الأخطاء البرمجية إلى جانب التحديثات الأمنية. أما الفروع المقتصرة على الأمان (PHP 8.2 وPHP 8.3)، فتتلقى التحديثات الأمنية الطارئة فقط، وسينتهي دعم الإصدار 8.2 تماماً في 31 ديسمبر 2026.

تظل الخوادم التي تعمل بالإصدار 8.1 أو أقدم معرضة للخطر بشكل دائم لعدم توفير تحديثات للنسخ المهملة. يتعين الانتقال العاجل إلى الفروع المدعومة.

ماذا يعني هذا بالنسبة لك

وفقاً للبيانات التي نشرتها شركة Wiz، تشغل PHP ما يقرب من 70% من مواقع الويب حول العالم، بما في ذلك أشهر منصات إدارة المحتوى والمتاجر الإلكترونية وبوابات الخدمات. وحتى لو لم تكن تدير خادماً بنفسك، فإن التطبيقات الرقمية التي تستخدمها يومياً تعتمد في الغالب على هذه التقنية.

على الرغم من أن المستخدم العادي لا يمكنه تحديث الخوادم البعيدة بشكل مباشر، فإن اتباع قواعد السلامة الرقمية يقلل من المخاطر المحتملة:

  • متابعة الإشعارات الأمنية من المنصات: إذا أبلغك موقع تسوق أو شبكة اجتماعية بوجود حادثة أمنية، بادر بتغيير كلمة المرور الخاصة بحسابك على الفور.
  • عدم تكرار كلمات المرور: يمثل استخدام نفس كلمة المرور عبر مواقع متعددة خطراً داهماً. عند اختراق أحد الخوادم وتسريب البيانات، يجرب المخترقون تلك البيانات تلقائياً على منصات البريد والخدمات المالية. استخدم كلمات مرور فريدة وقوية لكل حساب.
  • تفعيل المصادقة الثنائية (2FA): قم بتشغيل التحقق بخطوتين في كافة المنصات التي توفر ذلك، مع تفضيل تطبيقات التوثيق أو المفاتيح المادية على رسائل SMS القصيرة لمنع الاستيلاء على الحساب حتى في حال تسرب كلمة المرور.
  • الحذر من طلبات التحديث المضللة: يستغل المهاجمون السيطرة على المواقع لعرض نوافذ منبثقة مزيفة تطلب تحديث المتصفح. لا تقم بتثبيت أي ملفات من مصادر مجهولة، واعتمد حصراً على إعدادات المتصفح ونظام التشغيل الرسمية للتحديث.
  • تأمين حركة البيانات على الشبكة: عند استخدام شبكات Wi-Fi العامة، يعمل VPN على تشفير حركة البيانات بين جهازك وخادم VPN، مما يمنع الآخرين على نفس الشبكة من قراءتها. تحميل VPNRice.

قائمة الإجراءات العملية لمديري الخوادم

لحماية البنية التحتية للخوادم، يجب تنفيذ الخطوات التالية دون إبطاء:

1. ترقية الحزم البرمجية ومطابقة إعلانات التوزيعات الأمنية

إذا كنت تعتمد على المستودعات الرسمية لتوزيعات Linux (مثل Debian أو Ubuntu)، يقوم مشرفو الحزم بنقل التحديثات الأمنية (backport) مباشرة إلى حزم الإصدارات المستقرة دون تغيير رقم الإصدار الأساسي (على سبيل المثال، قد يظل رقم إصدار PHP يظهر كـ 8.2.26 أو 8.4.15 حتى بعد تطبيق التصحيحات الأمنية بنجاح).

أولاً، حدث فهارس المستودعات المحلية وقم بترقية حزم PHP المستخدمة (أسماء الحزم أدناه هي أمثلة توضيحية ويجب ضبطها وفقاً لإصدار PHP المتاح في مستودعك):

sudo apt-get update
sudo apt-get --only-upgrade install php8.4-fpm php8.4-cli php8.4-common

بعد ذلك، تحقق من رقم إصدار الحزمة المثبتة ومطابقته مع النشرات الأمنية الصادرة عن توزيعتك (مثل Debian Security Advisory DSA أو Ubuntu Security Notice USN):

apt-cache policy php8.4-fpm

راجع سجل تغييرات الحزمة للتأكد من إدراج التصحيحات الأمنية:

apt-get changelog php8.4-fpm | head -n 20

فقط في حال قمت بالبناء المباشر من مصادر php.net الرسمية، أو استخدمت مستودع PPA التابع لـ Ondřej Surý، أو شغلت حاويات Docker الرسمية، سيطابق الناتج في الطرفية عبر الأمر php -v أرقام الإصدارات الرسمية 8.2.35 أو 8.3.36 أو 8.4.27 أو 8.5.12.

2. إعادة بناء صور الحاويات

تحديث الخادم المضيف لا يؤثر على الحاويات المعزولة. عند استخدام Docker، حدث ملف Dockerfile للإشارة إلى الإصدار المصحح:

FROM php:8.4.27-fpm-alpine

أعد البناء مع إلغاء استخدام الذاكرة المؤقتة:

docker build --no-cache -t web-app:latest .

3. تدابير الحماية الميدانية

إلى حين اكتمال ترقية كافة الأنظمة، يمكن تفعيل فحص حركة البيانات عبر جدران الحماية للويب أو البروكسي العكسي. قم بتقييد طول الترويسات وضبط حدود رفع الملفات متعددة الأجزاء وقطع الاتصالات المشبوهة قبل وصولها لمعالجات PHP.

تعتبر التحديثات البرمجية الفورية وإدارة بيانات الاعتماد بحرص خط الدفاع الأساسي في مواجهة ثغرات الويب الخطيرة.