لا يمكن تقييم php2shell (CVE-2026-109618 / 109619) بالأمر php -v: أين تختلف أرقام الإصدارات بين FPM وDocker والتوزيعات
إصدار CLI مقابل FPM، ووسوم Docker، والإصلاحات المنقولة في التوزيعات، وما يجب فحصه في الاستضافة المشتركة

تُرجمت هذه الصفحة بالذكاء الاصطناعي من الأصل الياباني. عند وجود أي اختلاف، تُعتمد النسخة اليابانية: 日本語
إذا كانت نسخة PHP التي تعالج طلبات الويب (PHP-FPM أو mod_php في Apache أو php-cgi أو FrankenPHP أو LiteSpeed) أقدم من 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 فهي متأثرة بالثغرتين CVE-2026-109618 وCVE-2026-109619 المعروفتين باسم php2shell. الإصلاح هو الترقية إلى أحد هذه الإصدارات (أو إلى الحزمة المُصلحة في حالة حزم التوزيعات) ثم إعادة تشغيل العمليات. ما تحتاج إلى فحصه ليس php -v المحلي لديك، بل «نسخة PHP التي تخدم الويب فعليًا» و«إصدار الحزمة المثبّتة».
يركّز هذا المقال على أربعة مواضع يقود فيها الحكم بحسب رقم الإصدار وحده إلى نتيجة خاطئة. جميع الأرقام والمعلومات عن الحالة حتى 2026-10-22، ومصادر كل بند مذكورة في النهاية.
ما هو معروف حتى 2026-10-22
| البند | التفاصيل |
|---|---|
| CVE | CVE-2026-109618 (GHSA-w8hw-w9fx-j79w) / CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp) |
| الخطورة | كلتاهما مصنّفة CVSS v4.0 بدرجة 9.2 (حرجة) في إشعار PHP |
| الإصدارات المُصلحة | 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 (صدرت في 2026-10-21) |
| الإصدارات المتأثرة | الإصدارات الأقدم من الإصدارات المُصلحة أعلاه (بحسب إشعارات GitHub) |
| النطاق | أي PHP يعالج طلبات الويب. يذكر الإشعار PHP-FPM وmod_php وphp-cgi وFrankenPHP وLiteSpeed، ويصف mod_php بأنه الأعلى خطرًا. في إشعارات GitHub، ثبت إمكان الاستغلال مع mod_php، بينما صُنّف FPM وFrankenPHP بأنهما «غير مثبت» أو «مشروط». عدم الإثبات لا يعني الأمان، لذا رقِّ إلى إصدار مُصلح بأي طريقة تشغّل بها PHP |
| 8.1 وما قبله | لا تحديثات من مشروع PHP. نُشرت إصلاحات مصدرية منقولة (backports) في حدّها الأدنى للإصدارات 7.4 / 8.0 / 8.1، وقد تُصدر بعض التوزيعات وموردي LTS إصلاحات |
| 8.2 | انتهاء الدعم في 2026-12-31 (بحسب ملاحظات إصدار 8.2.35) |
ينص إشعار PHP على أن «الإصلاح الكامل الوحيد هو التحديث». وتناول المقال لاحقًا إجراءات التخفيف للفترة التي تسبق إمكان التحديث.
الفخ الأول: قد يختلف php -v عن PHP المواجه للويب
الأمر php -v الذي تكتبه عبر SSH يعرض إصدار PHP الخاص بـ CLI. أما طلبات الويب فتعالجها عمليات PHP-FPM أو mod_php المحمَّل في Apache، وهي ملفات تنفيذية مستقلة وحزم مستقلة. إذا ثبّتَّ PHP أحدث لـ CLI فقط، أو تشغّل عدة إصدارات جنبًا إلى جنب، أو كان أحد pools الخاصة بـ FPM يشير إلى إصدار آخر، فقد يبقى جانب الويب قديمًا حتى لو أظهر php -v إصدارًا مُصلحًا.
هناك عدة طرق لمعرفة الإصدار الحقيقي على جانب الويب.
# FPM على Debian / Ubuntu (يُسمّى حسب الإصدار)
php-fpm8.3 -v
# FPM على عائلة RHEL
php-fpm -v
# التحقق من تحميل mod_php في Apache
apachectl -M | grep -i php
الطريقة الأكثر موثوقية هي أن تجعل PHP الذي يعمل فعليًا عبر الويب يُبلغ بإصداره بنفسه. ضع ملفًا مؤقتًا باسم يصعب تخمينه، واحذفه فور انتهاء الفحص.
<?php echo PHP_VERSION, ' ', PHP_SAPI;
إذا كانت قيمة PHP_SAPI هي fpm-fcgi فـ PHP يعمل عبر FPM؛ وإذا كانت apache2handler فهو mod_php؛ وإذا كانت cgi-fcgi فهو CGI. تجنّب ترك phpinfo() مكشوفًا، لأن ذلك في ذاته يسرّب معلومات.
إعادة التشغيل خطوة أخرى يسهل نسيانها. فحتى بعد استبدال الحزمة، قد تواصل عمليات php-fpm أو Apache العاملة بالفعل تشغيل الشيفرة القديمة. بعض الإعدادات تعيد التشغيل تلقائيًا عند تحديث الحزم وبعضها لا. بعد التحديث، أعد تشغيل FPM / Apache وافحص إصدار جانب الويب مرة أخرى بالطرق أعلاه.
الفخ الثاني: مع Docker لا يمكنك الحكم من اسم الوسم
تحتوي صورة php الرسمية على «وسوم متحركة» مثل 8.3 و8.3-fpm يُستبدل محتواها، ووسوم مثبّتة مثل 8.3.30 تثبّت الإصدار.
- حتى بعد تحويل الوسم المتحرك إلى إصدار مُصلح على Docker Hub، تبقى نسختك المحلية صورة قديمة حتى تسحبها من جديد. كما تواصل الحاويات العاملة استخدام الصورة القديمة حتى يُعاد إنشاؤها. وملف
Dockerfileالذي يحتوي علىFROM php:8.3-fpmسيُبنى على الأساس القديم إذا بقي في ذاكرة البناء المؤقتة (build cache). - الوسم المثبّت يبقى قديمًا إلى الأبد حتى ترفع الرقم بنفسك.
يمكنك التحقق من نشر وسوم الإصدارات المُصلحة باستخدام واجهة Docker Hub API.
curl -s "https://hub.docker.com/v2/repositories/library/php/tags?name=8.3.36&page_size=100"
فيما يلي نتائج الاستعلام عن أربعة خطوط إصدار في 2026-10-22 (الأوقات بتوقيت UTC).
| الإصدار المُصلح | الوسوم التي وُجدت | وقت ظهور الوسوم المبنية على Debian (-fpm و-apache وغيرها) | الوسوم المبنية على Alpine |
|---|---|---|---|
| 8.5.12 | 54 (بما فيها RC1) | 2026-10-21 18:59–22:13 | 2026-10-21 22:12–10-22 01:05 |
| 8.4.27 | 54 (تشمل RC1) | 2026-10-21 22:09–22:11 | 2026-10-21 22:09–10-22 03:58 |
| 8.3.36 | 27 | 2026-10-21 22:04–22:06 | 2026-10-21 22:04–10-22 03:56 |
| 8.2.35 | 27 | 2026-10-21 21:59–22:01 | 2026-10-21 22:00–10-22 00:58 |
أظهر هذا الفحص ثلاث نقاط قد يضلّلك فيها الحكم بالأرقام.
- «حُدِّث مؤخرًا» لا يعني «تم الإصلاح». أُعيد بناء الوسم المثبّت
8.3.35خلال 2026-10-21، لكن قيمةPHP_VERSIONبداخله بقيت 8.3.35. انظر إلى الإصدار الموجود داخل الصورة لا إلى وقت التحديث. - قد يختلف الـ digest ويتطابق المحتوى. كان للوسمين
8.3و8.3.36قيمتا digest مختلفتان (قيمة الفهرس الذي يجمع عدّة معماريات)، لكن صورة amd64 كانت هي نفسها وكانت قيمةPHP_VERSION=8.3.36في كليهما. وكذلك في8.3-fpm/8.3.36-fpmو8.4-apache/8.4.27-apacheوlatest/8.5.12و8.5-fpmو8.2-fpm، كانت قيمةPHP_VERSIONفي صورة amd64 إصدارًا مصحَّحًا. - لا توجد صور رسمية مصحَّحة للإصدار 8.1 وما قبله. كان آخر تحديث للوسم
8.1-fpmفي 2025-12-31.
للتحقق من الصور المحلية والحاويات العاملة:
# إصدار PHP في صورة سُحبت محليًا
docker image inspect php:8.3-fpm --format '{{range .Config.Env}}{{println .}}{{end}}' | grep PHP_VERSION
# اسحب الصورة من جديد وأعد إنشاء الحاويات
docker compose pull
docker compose up -d
# إذا كنت تبني صورتك بنفسك، اسحب الصورة الأساسية من جديد ثم ابنِ
docker compose build --pull
# الإصدار داخل حاوية عاملة
docker compose exec app php -r 'echo PHP_VERSION, PHP_EOL;'
استبدل app في الأمر الأخير باسم الخدمة لديك. تُبنى كل صورة رسمية بقيمة PHP_VERSION واحدة، لذا يطابق إصدار CLI داخل الحاوية إصدار FPM / Apache فيها (تنطبق الثغرة 1 عند تثبيت PHP مباشرة على المضيف).
يضمّن FrankenPHP نسخة PHP بداخله، لذا فإن إصدار FrankenPHP وإصدار PHP المضمَّن رقمان مختلفان. تذكر ملاحظات إصدار FrankenPHP 1.13.2 الصادر في 2026-10-21 أن صور Docker بُنيت مع PHP 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 وأن الملفات التنفيذية الساكنة بُنيت مع PHP 8.5.12.
المطب 3: حزم التوزيعات «تُصلَح وتبقى أرقامها قديمة»
تنقل Ubuntu وRHEL الإصلاحات فقط إلى الإصدارات الأقدم (backporting، أي نقل الإصلاح إلى إصدار قديم). يبقى الرقم الظاهر في php -v قديمًا، لذا فإن الفحص الرقمي مثل «أقل من 8.3.36 إذن معرَّض للثغرة» سيصنّف نظامًا مصحَّحًا على أنه معرَّض. وبالعكس، لا يمكنك الاطمئنان بالرقم وحده. احكم بناءً على إصدار الحزمة وعلى متتبّع الأمان الخاص بكل توزيعة.
الحزم المصحَّحة المدرجة في كل متتبّع (أمان) حتى 2026-10-22 (وهي نفسها لكلا الثغرتين):
| التوزيعة | الحزمة | الإصدار المصحَّح | المصدر |
|---|---|---|---|
| Ubuntu 22.04 (jammy) | php8.1 | 8.1.2-1ubuntu2.28 | USN-8948-1 |
| Ubuntu 24.04 (noble) | php8.3 | 8.3.6-0ubuntu0.24.04.13 | USN-8948-1 |
| Ubuntu 26.04 (resolute) | php8.5 | 8.5.4-0ubuntu1.5 | USN-8948-1 |
| Ubuntu (stonking) | php8.5 | 8.5.9-0ubuntu2.1 | USN-8948-1 |
| Ubuntu 14.04 / 16.04 / 18.04 / 20.04 | php5 / php7.0 / php7.2 / php7.4 | متاح عبر Ubuntu Pro (بما فيه Legacy Support) | USN-8948-2 |
| Debian 12 (bookworm) | php8.2 | 8.2.35-1~deb12u1 | DLA-4848-1 |
| Debian 13 (trixie) | php8.4 | 8.4.27-1~deb13u1 | DSA-6574-1 |
| RHEL 10 | php / php8.4 | 8.3.36-1.el10_2 / 8.4.27-1.el10_2 | Red Hat |
| RHEL 9 | php (الافتراضية) | 8.0.30-8.el9_8.1 | Red Hat |
| RHEL 9 | وحدة php 8.2 / 8.3 | 8.2.35-1.module+el9.8.0… / 8.3.36-1.module+el9.8.0… | Red Hat |
| RHEL 8 | وحدة php 7.4 / 8.2 | 7.4.33-8.module+el8.10.0… / 8.2.35-1.module+el8.10.0… | Red Hat |
يوضّح هذا الجدول مباشرةً لماذا لا تكفي الأرقام وحدها. إصدار PHP المصحَّح في Ubuntu 24.04 يبدأ بـ 8.3.6، أي أقل بكثير من 8.3.36 في المصدر الأصلي (upstream). وPHP الافتراضية في RHEL 9 مصحَّحة مع بقائها على 8.0.30، رغم أن المصدر الأصلي لم يعد يصدر إصلاحات للإصدار 8.0. أما Debian فقد انتقلت إلى الأرقام نفسها الموجودة في المصدر الأصلي (8.2.35 / 8.4.27).
بعض الحزم لم تُصلَح بعد (حتى 2026-10-22).
- وحدة php 8.4 في RHEL 9 مدرجة بحالة «متأثرة، دون إصلاح».
- في Debian forky (testing) الحزمة php8.4 بإصدار 8.4.26-1 وموسومة «vulnerable». أما php8.4 في sid (unstable) فهي 8.4.27-1 ومصحَّحة.
أمثلة على أوامر للتحقق من خادمك:
# Debian / Ubuntu: الإصدار المثبَّت والإصدار المتاح
apt-cache policy php8.3-fpm libapache2-mod-php8.3
# Ubuntu: هل أُصلحت هذه الثغرة (CVE) على هذا الخادم
pro fix CVE-2026-109618
pro fix CVE-2026-109619
# عائلة RHEL: هل يوجد تحديث يصلح هذه الثغرة (CVE)، والإصدار المثبَّت
dnf updateinfo list --cve CVE-2026-109618
rpm -q php-fpm php-cli
عدِّل اسم الحزمة (php8.3-fpm وغيرها) بحسب بيئتك. قارن الإصدار الظاهر بـ«الإصدار المصحَّح» في الجدول أعلاه أو في المتتبّع؛ فإن كان مساويًا له أو أعلى فالإصلاح موجود. بعد ذلك أكمل إعادة التشغيل والتحقق من جهة الويب كما في المطب 1.
إذا ثبّتّ PHP من مستودع طرف ثالث بدلًا من حزم التوزيعة نفسها، فعليك متابعة تحديثات ذلك المستودع. يشير إشعار PHP إلى أن rpms.remirepo.net الذي يديره متطوعون لن تتوفر فيه تحديثات في يوم الإفصاح، ويوصي بالتحول إلى حزم التوزيعة أو إلى بناء خاص بك.
المطب 4: في الاستضافة المشتركة والبيئات المُدارة لا يمكنك ترقية PHP بنفسك
في خدمات الاستضافة المشتركة وبيئات PHP المُدارة، يتولى المزوّد استبدال بيئة تشغيل PHP. وهنا أيضًا لا يكفي رقم الإصدار وحده: فإذا كان المزوّد يبني PHP بنفسه أو ينقل الإصلاحات إلى إصدارات أقدم (backport)، فقد يبقى رقم الإصدار قديمًا.
هناك ثلاثة أمور يمكنك القيام بها بنفسك.
- تحقّق من إصدار PHP على جهة الويب. استخدم الملف المؤقت المذكور في الفخ 1 لعرض
PHP_VERSIONوPHP_SAPI، ثم احذفه فورًا. وإذا كانت لوحة التحكم تتيح اختيار إصدار PHP، فدوّن الإصدار الذي اخترته. - اقرأ إشعار المزوّد، واسأله إن لم يوجد إشعار. اسأل: «في أي إصدارات PHP ضمن باقتي ستُطبَّق إصلاحات CVE-2026-109618 وCVE-2026-109619، ومتى (أو هل طُبّقت)؟» السؤال برقم CVE بدلًا من رقم الإصدار يحصل منك على إجابة تشمل الإصلاحات المنقولة (backports) أيضًا.
- إذا كنت قد اخترت إصدارًا غير مدعوم، فانتقل إلى إصدار أحدث. لا يصدر مشروع PHP أي إصلاحات للإصدار 8.1 وما قبله، وينتهي دعم 8.2 في 2026-12-31. وما لم يكن المزوّد قد نقل الإصلاحات إلى إصدارك، فالتحويل إلى إصدار آخر هو الطريق الموثوق.
حالة مزوّدي الاستضافة (حتى 2026-10-22)
في الاستضافة المشتركة يتولى المزوّد عادةً تحديث بيئة تشغيل PHP، وتذكر إشعارات كثير من المزوّدين أنه «لا يُطلب أي إجراء من المستخدمين». وعلى المستخدم أمران: الاطلاع على الإشعار الرسمي لمزوّده، وإذا كان قد اختار إصدار PHP قديمًا في لوحة التحكم، فعليه أن يقرر هل ينتقل إلى الإصدار الذي يوصي به الإشعار (إصدار صدر له إصلاح).
يلخّص الجدول التالي فقط ما هو مكتوب في الصفحات الرسمية لكل مزوّد (الإعلانات ومعلومات الصيانة)، مع إعادة صياغة عبارات الإشعارات. تُحدَّث الإشعارات مع تقدم العمل، لذا تأكد دائمًا من الوضع الفعلي في الصفحة الرسمية المذكورة.
| المزوّد / الخدمة | أبرز ما في الإشعار الرسمي | تاريخ الإشعار ووقته | المصدر |
|---|---|---|---|
| エックスサーバー | «بالنسبة إلى PHP 8.2–8.5، اكتمل تطبيق رقعة الإصلاح على جميع الخوادم المتأثرة». أما الإصدارات الأقدم فيذكر الإشعار أن «رقع الإصلاح جاهزة لبعض الإصدارات وستُطبَّق تباعًا فور اكتمال التحقق»، وأن الإصدارات القديمة الأخرى قيد المعالجة أيضًا | حسب ما ورد في 10/22 6:45 (حُدّثت الصفحة حتى 13:15) | メンテナンスの進捗状況 |
| シン・レンタルサーバー | تعرض صفحة الإعلانات «سير أعمال الصيانة» نفسه الذي تعرضه Xserver، لكنني لم أجد أي بيان يتناول حالة PHP في Shin Rental Server تحديدًا (راجع الدعم الفني) | - | お知らせ |
| ConoHa WING | «نطبّق رقع الأمان مع الإبقاء على إصدار PHP الذي تستخدمونه حاليًا». يذكر الإشعار أن المستخدمين لا يحتاجون عمومًا إلى تغيير الإصدار، لكن قد يلزم التغيير في PHP 5.x و7.x. أُوقف مدير الملفات والبريد عبر الويب مؤقتًا احترازيًا، بينما يستمر عرض المواقع وإرسال البريد واستقباله بشكل طبيعي | 10/22 | 【重要】PHPの脆弱性への弊社対応について |
| さくらのレンタルサーバ | «أنجزنا المعالجة الخاصة بالثغرة لجميع إصدارات PHP التي يمكن اختيارها من لوحة التحكم لدينا». ويذكر أنه «لا يوجد إجراء عاجل مطلوب من العملاء»، ويوصي بالانتقال لاحقًا إلى أحدث إصدار مدعوم. ويذكر الإشعار أن البريد عبر الويب عولج في 10/22 13:45 وأن phpMyAdmin ما زال قيد المعالجة | 10/22 (حُدّث 13:45) | PHPの脆弱性(CVE-2026-109618、CVE-2026-109619)への対応状況について |
| ロリポップ! | إشعار بصيانة احترازية قبل صدور الإصدارات المُصلَحة (إيقاف موقع الخدمة وصفحات المستخدمين وغيرها تباعًا؛ وقد تُوقف المواقع أو تُقيَّد دون إشعار مسبق). حتى 10/22 لم أجد إشعارًا يعلن اكتمال إصلاح PHP (راجع الدعم الفني) | 10/21 | 【重要】PHPの脆弱性への予防措置に伴うメンテナンス実施のお知らせ |
| ヘテムル | «بالنسبة إلى PHP 8.x وPHP 7.4 طبّقنا الإصدارات الرسمية المُصلَحة»؛ وبالنسبة إلى الإصدارات الأخرى «أجرينا إصلاحات خاصة بنا استنادًا إلى الإصلاح الرسمي». ولأن «بعض الوظائف (session.upload_progress) عُطّلت في جميع الإصدارات»، يُطلب من المستخدمين التأكد من عمل مواقعهم. ولأن الإصدارات القديمة قد لا تتلقى إصلاحات إضافية، يوصي الإشعار بالانتقال إلى إصدار أحدث | نُشر 10/21 19:44؛ وحُدّث 10/22 12:18 و13:20 | 【一部完了】【重要】PHPの脆弱性への予防措置に伴うメンテナンス実施のお知らせ |
| mixhost | «اكتمل تطبيق حزم إصلاح PHP في حدود الساعة 10:18 من 22 أكتوبر 2026». «طُبّقت دون تغيير رقم إصدار PHP»؛ «لا يُطلب أي إجراء من العملاء». ويوصي الإشعار مستخدمي الإصدارات الأقدم من PHP 8.2 باستخدام إصدار مدعوم (8.2 أو أحدث) | 10/22 | 【完了】PHPの重大な脆弱性への対応について |
| KAGOYA | بالنسبة إلى خدمة الخوادم المؤجرة، سيُحدَّث PHP 8.2–8.5 تباعًا بعد التحقق من الإصدارات المُصلَحة (الإصدارات المستهدفة قيد التحديد). أما الخوادم المُدارة المخصصة والمشتركة والخاصة بـ WordPress فما زال الإصلاح الدائم قيد التخطيط؛ وكإجراء مؤقت يقترح الإشعار النظر في إيقاف المواقع عن الإنترنت أو تقييد الوصول إليها | نُشر 10/21 18:20؛ وحُدّث 10/22 10:35 | PHPの脆弱性に関する当社サービスへの影響について |
| Zenlogic(IDCフロンティア) | طُبّقت الإصلاحات أثناء صيانة طارئة (10/21 22:00 – 10/22 18:00؛ وقد يختلف وقت الانتهاء). سيُحدَّث PHP 5.3 إلى أحدث إصدار ولا يمكن الرجوع عنه؛ وقد يُحدَّث 7.4 و8.1. ويذكر الإشعار أنه إذا ظهرت مشكلات في العرض أو السلوك بعد التحديث فيجب الإصلاح من جهة التطبيق | 10/21 | 【ホスティング】緊急メンテナンス作業のお知らせ |
| ColorfulBox | «أكملنا من جهة الخادم التحديث إلى إصدارات مُعالَجة مع الإبقاء على إصدار PHP الذي تستخدمونه حاليًا». ويذكر الإشعار أنه «لا حاجة إلى أن يغيّر العملاء إصدار PHP أو يبدّلوه بأنفسهم» | 10/22 | 【重要】PHPの脆弱性に対するセキュリティアップデート完了のお知らせ |
| お名前.com レンタルサーバー | «نطبّق رقع الأمان مع الإبقاء على إصدار PHP الذي تستخدمونه حاليًا». يذكر الإشعار أن تغيير الإصدار غير لازم عمومًا، لكنه قد يلزم في PHP 5.x و7.x. أُوقف مدير الملفات والبريد عبر الويب مؤقتًا احترازيًا | 10/22 | 【重要】PHPの脆弱性への弊社対応について |
| CORESERVER(V2) | «أنجزنا المعالجة الخاصة بالثغرة لجميع إصدارات PHP التي نقدمها»؛ «لا يلزم أي إجراء مثل تغيير إصدار PHP من جانب العميل». جرت الصيانة من 10/22 0:00 إلى 11:13 ويُذكر أنها اكتملت | نُشر 10/21 (اكتمل 10/22) | PHP脆弱性の対応(CORESERVER V2)【完了】 |
| XREA | «أنجزنا المعالجة الخاصة بالثغرة لـ PHP 7.4 وما بعده (7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4 / 8.5)». لا يحتاج مستخدمو هذه الإصدارات إلى تغيير الإصدار. ولا يذكر الإشعار شيئًا عن الإصدارات الأقدم من 7.4 | نُشر 10/21 (اكتمل 10/22 0:50) | PHP脆弱性の対応(XREA)【完了】 |
| バリューサーバー | «أنجزنا المعالجة الخاصة بالثغرة لـ PHP 7.4 وما بعده». يذكر الإشعار أن مستخدمي هذه الإصدارات لا يحتاجون إلى تغيير الإصدار | نُشر 10/21 (اكتمل 10/22 0:50) | PHP脆弱性の対応(VALUESERVER)【完了】 |
| ABLENET | «فيما يتعلق بالثغرتين المحددتين في PHP، نفّذنا التحديثات الأمنية الأولية لبيئة الخوادم المؤجرة لدينا». لا يذكر الإشعار الإصدارات المشمولة ولا ما إذا كان على المستخدمين اتخاذ إجراء | 10/22 13:04 | PHPの脆弱性に関するセキュリティアップデートの対応について |
| WebARENA(レンタルサーバー) | حتى 10/22 لم أجد إشعارًا رسميًا (راجع الدعم الفني) | - | WebARENA お知らせ(2026年) |
حيثما لم أجد إشعارًا رسميًا أو تعذّر فتحه، كُتب في الجدول «تعذّر التأكد» أو «لم أجد». وغياب المعلومات هناك لا يعني أن المزوّد لم يستجب. تحقق مباشرة من إعلانات مزوّدك ومن الدعم الفني.
إجراءات تخفيف المخاطر إلى أن يمكنك التحديث
يذكر إشعار PHP إعدادات تقلّل سطح الهجوم إلى أن تتمكن من التحديث. غير أن الإشعار نفسه ينص صراحةً على أنها «لا تجعلك آمنًا». وأهمها:
- بالنسبة إلى CVE-2026-109619: اضبط
session.upload_progress.enabled=0في php.ini أو في مجمّع FPM أو في إعدادات الخادم، ثم أعد تشغيل جميع العمليات العاملة (ini_set()وملف.user.iniالخاص بـ FPM لا يعملان هنا). وفي PHP 8.5 اضبط أيضًاfatal_error_backtraces=0. - بالنسبة إلى CVE-2026-109618: اضبط
memory_limit=-1بطريقة لا يستطيع التطبيق تجاوزها، وقلّلpost_max_size(8M إذا لم تكن هناك عمليات رفع، و32M إذا وُجدت). لا تستخدمRLIMIT_AS/RLIMIT_DATAبديلًا عن ذلك.
يوصي المركز الوطني للأمن السيبراني في المملكة المتحدة (NCSC) بالنظر في إخراج أي نظام لا يمكن تحديثه أو تخفيف المخاطر عنه فورًا من الإنترنت، وبالتحقق من وجود علامات اختراق قبل التحديث أو تطبيق إجراءات التخفيف.
المصادر (جرى التحقق منها في 2026-10-22)
- php.net: Security advisory: Critical remote code execution vulnerabilities, update now (2026-10-21)
- php.net: Upcoming Critical PHP Security Release (2026-10-20)
- php.net: إعلانات إصدارات PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35
- GitHub: GHSA-w8hw-w9fx-j79w (CVE-2026-109618)
- GitHub: GHSA-6wmf-4rv5-p3rp (CVE-2026-109619)
- Docker Hub: صورة php الرسمية
- ملاحظات إصدار FrankenPHP 1.13.2
- Debian Security Tracker: CVE-2026-109618 / CVE-2026-109619
- Ubuntu: CVE-2026-109618 / CVE-2026-109619 / USN-8948-1 / USN-8948-2
- Red Hat: CVE-2026-109618 / CVE-2026-109619 (إصدارات الحزم المُصلَحة مأخوذة من بيانات VEX الخاصة بـ Red Hat)
- NCSC: Critical security issue affecting PHP
الأسئلة الشائعة
إذا أظهر php -v إصدارًا مُصلحًا، فهل أنا محمي من php2shell (CVE-2026-109618 / 109619)؟
ليس بالضرورة. الأمر php -v يعرض فقط إصدار PHP الخاص بـ CLI. أما PHP-FPM أو mod_php في Apache اللذان يعالجان طلبات الويب فقد يكونان ملفًا تنفيذيًا مستقلًا وحزمة مستقلة. افحص إصدار FPM بالأمر php-fpm8.3 -v (أو php-fpm -v في عائلة RHEL). أو افتح من الويب ملفًا مؤقتًا يطبع PHP_VERSION وPHP_SAPI، ثم احذفه فور انتهاء الفحص. وإذا لم تعد تشغيل FPM أو Apache بعد التحديث، فقد يستمران في تشغيل الشيفرة القديمة.
إذا كنت أستخدم php:8.3-fpm من Docker، فهل أُصلحت php2shell؟
حتى 2026-10-22، جرى تحويل php:8.3-fpm على Docker Hub إلى PHP 8.3.36. لكن الصورة المحلية لديك تبقى قديمة حتى تسحبها من جديد، وتظل الحاويات العاملة تستخدم الصورة القديمة حتى تُعاد إنشاؤها. نفّذ docker compose pull ثم docker compose up -d (أو docker compose build --pull إذا كنت تبني صورتك بنفسك). بعد ذلك نفّذ php -r 'echo PHP_VERSION;' داخل الحاوية وتأكد من أن الإصدار 8.3.36 أو أحدث. أما الوسوم المثبّتة مثل 8.3.30 فتبقى قديمة حتى ترفع الرقم بنفسك.
ما زالت Ubuntu وRHEL تعرضان PHP 8.3.6 أو 8.0.30. فهل تتأثران بـ php2shell؟
لا يمكن الحكم من رقم الإصدار وحده. تنقل Ubuntu وRHEL الإصلاحات إلى الإصدارات الأقدم (backport)، فقد تكون الحزمة مُصلحة بينما يبقى رقمها قديمًا. حتى 2026-10-22، الإصلاح موجود في php8.3 8.3.6-0ubuntu0.24.04.13 على Ubuntu 24.04 وفي php 8.0.30-8.el9_8.1 على RHEL 9. قارن إصدار الحزمة المثبّتة (apt-cache policy أو rpm -q) بالإصدار المُصلح في متتبّع الأمان الخاص بتوزيعتك. ويمكنك الفحص أيضًا بالأمر pro fix CVE-2026-109618 على Ubuntu، أو dnf updateinfo list --cve CVE-2026-109618 على عائلة RHEL.