الملخص السريع
الخلل في PHP نفسه
تحديث WordPress أو Laravel أو الإضافات لا يصلح الثغرة. يجب تحديث بيئة تشغيل PHP.
التصحيح يتطلب إعادة تشغيل
قد تستمر عمليات PHP-FPM وApache وIIS والحاويات القديمة في تنفيذ الشيفرة غير المصححة.
أنشئ لقطة قبل الإصلاح
نسخة السكربت تغطي تثبيت PHP فقط. تبقى اللقطة الكاملة للخادم وسيلة التراجع الأساسية.
ما الذي حدث؟
أصلحت PHP ثغرتين حرجتين في نواة المفسر قد تسمحان بتنفيذ شيفرة عن بُعد دون مصادقة. الثغرتان مستقلتان عن إطار التطبيق وتؤثران في كل SAPI يخدم طلبات الويب: PHP-FPM وApache mod_php وphp-cgi وFrankenPHP وLiteSpeed.
تستغل CVE-2026-109618 خروجاً بسبب نفاد الذاكرة بينما تكون ذاكرة الطلب مهيأة جزئياً؛ وقد تعامل مرحلة الإغلاق حالة تالفة كأنها صالحة. أما CVE-2026-109619 فهي use-after-free بين الطلبات: قد يعيد عامل التشغيل استخدام قيمة عامة تشير إلى ذاكرة طلب سابق حُررت.
الإصدارات المتأثرة
تتوفر إصدارات إصلاح رسمية لـ PHP 8.2 حتى 8.5. الإصدارات 8.1 وما قبلها وصلت إلى نهاية الدعم من المنبع. وفرت PHP ترقيعات مصدرية محدودة لـ 7.4 و8.0 و8.1 لكن دون إصدارات ثنائية رسمية جديدة.
| الفرع | المتأثر | الإصلاح الرسمي |
|---|---|---|
| PHP 8.5 | < 8.5.12 | 8.5.12 |
| PHP 8.4 | < 8.4.27 | 8.4.27 |
| PHP 8.3 | < 8.3.36 | 8.3.36 |
| PHP 8.2 | < 8.2.35 | 8.2.35 |
| PHP 8.1 وما قبله | انتهى دعم المنبع | ترقية أو ترقيع من الموزع |
لماذا لا يكفي تحديث التطبيق؟
تُنفذ مسارات الهجوم أثناء تهيئة طلب PHP أو تحليله أو تنظيمه قبل تشغيل شيفرة التطبيق. تحديث WordPress أو Drupal أو Joomla أو Laravel أو إضافة أمنية لا يستبدل تحديث PHP.
- تعتبر PHP أن mod_php الأعلى خطورة: يمكن لطلب غير موثق أن يهاجم قبل تشغيل شيفرة التطبيق.
- لا ينبغي اعتبار PHP-FPM آمناً. يدعم تحليل الشيفرة احتمال التأثر، وقد أُثبتت الثغرة المرتبطة على mod_php وFPM.
- تثبيت الحزمة لا يكمل الإصلاح إذا كانت عمليات FPM أو Apache أو IIS أو CLI القديمة ما زالت تعمل.
- يتطلب Docker سحب صورة جديدة وإعادة إنشاء الحاوية؛ أمر docker restart يعيد تشغيل الصورة القديمة فقط.
كيف حددنا النطاق
استخدمنا فاحصاً سلبياً لجرد CLI وFPM وCGI ووحدات Apache وDocker وخدمات Windows والإضافات وإعدادات INI، ثم تحققنا من بيئة التشغيل خلف كل مدخل ويب فعلي بدلاً من الاعتماد على نتيجة php -v واحدة.
- افحص PATH و/www/server/php و/usr/local و/opt ومجمعات FPM وApache وIIS FastCGI والسجل والحاويات.
- قارن وقت تثبيت الحزم بوقت بدء العمليات لاكتشاف تصحيح مثبت لكنه غير نشط.
- إخفاء الإصدار أو CDN أو WAF يقلل الانكشاف لكنه لا يثبت أن الأصل مصحح.
- تتطلب الأجهزة وNAS ولوحات التحكم وPHP المضمن تنبيهات منفصلة من المورد.
تسلسل إصلاح آمن
تحديث PHP هو الإصلاح الكامل الوحيد. ينطبق التسلسل على Linux وWindows Server بما في ذلك BT panel وIIS والحاويات.
- أنشئ لقطة كاملة في السحابة أو منصة المحاكاة وسجل PHP وSAPI والإضافات والخدمات وإعدادات المجمعات.
- انسخ دليل PHP وphp.ini وإعدادات FPM وApache وIIS والملفات الثنائية، وتحقق من سكربت التراجع.
- ثبّت الإصدار الرسمي من الفرع نفسه أو حزمة موزع يذكر تنبيه CVE الخاص بها الإصلاح صراحة.
- في Docker اسحب الصورة المصححة وأعد إنشاء الحاوية. بعد تحديث الحزمة أعد تشغيل FPM وApache وIIS وعمليات PHP الدائمة بالكامل.
- اختبر تسجيل الدخول والرفع والدفع وقوائم الانتظار والتخزين المؤقت وواجهات API الحرجة، وتأكد من إصدار SAPI الفعلي.
- إذا كان الخادم مكشوفاً للإنترنت قبل الإصلاح، فافحص webshell والعمليات الفرعية غير المتوقعة والمهام الجديدة والاتصالات الصادرة والوصول إلى البيانات السرية.
عند تعذر التصحيح فوراً
تحجب الإعدادات مسارات معروفة محددة فقط ولا تجعل PHP آمناً. يبقى التصحيح وإعادة تشغيل جميع العمليات الإصلاح الكامل الوحيد.
- CVE-2026-109618: افرض memory_limit=-1 حيث لا يمكن للتطبيق تجاوزه، وخفّض post_max_size، وحدد في الوسيط حجم الطلب والأجزاء والترويسات ومستوى التداخل. لا تستبدله بـ RLIMIT_AS أو RLIMIT_DATA.
- CVE-2026-109619: اضبط session.upload_progress.enabled=0 قبل تهيئة الطلب وأعد تشغيل كل العمال؛ وفي PHP 8.5 اضبط أيضاً fatal_error_backtraces=0.
- لا تعتمد على .user.ini أو ini_set() كإجراء رئيسي لأن التطبيق متأخر في بعض المسارات.
- قواعد Cloudflare WAF وغيرها دفاع متعدد الطبقات وتغطي فقط الحركة المارة عبرها.
التراجع وحدود الأدوات
تبقى اللقطة الكاملة وسيلة التراجع المفضلة. تنشئ سكربتات الخادم التقارير والقوائم وملفات rollback تحت /root/php2shell-fullfix/<timestamp>/ في Linux أو C:\ProgramData\PHP2ShellFullFix\<timestamp>\ في Windows.
تقتصر التغييرات التلقائية على تثبيتات BT panel المعروفة وحاويات محددة تعتمد صورة Debian الرسمية لـ PHP وتثبيتات ZIP الرسمية في Windows. أما البناء المجهول وحزم التوزيع وPHP المضمن فتحصل على مسار يدوي.
أدوات الاستجابة
تجري أدوات الفحص جرداً غير هجومي للإصدارات والإعدادات. سكربتات الخادم تبدأ بوضع الفحص وتطلب ثلاثة تأكيدات قبل التغيير.
المصادر الموثوقة
تعتمد حقائق المنتج أولاً على PHP وتنبيهات GitHub Security، وتُستخدم إشعارات CISA وCERT-EU وNCSC-NL ومزودي السحابة للتحقق المتقاطع.
- PHP official security advisory · 2026-10-21
- CVE-2026-109618 · GHSA-w8hw-w9fx-j79w
- CVE-2026-109619 · GHSA-6wmf-4rv5-p3rp
- PHP 8.2.35 official release record
- NCSC-NL · php2shell operational information
- CISA CSAF/VEX · VA-26-295-01
- Canadian Centre for Cyber Security · AL26-026
- CERT-EU Security Advisory 2026-018
- Cloudflare · php2shell WAF protection
لا يكشف فحص HTTP الإصدار المخفي. ويجب ألا يُفسر «غير معروف» على أنه «آمن».
احصل على عرض سعر مجاني