سجل تقني

لا يمكن تقييم php2shell (⁦CVE-2026-109618 / 109619⁩) بالأمر php -v: أين تختلف أرقام الإصدارات بين FPM وDocker والتوزيعات

تاريخ النشر: 2026-10-22 · الكاتب: GRAMSHIFT

إصدار CLI مقابل FPM، ووسوم Docker، والإصلاحات المنقولة في التوزيعات، وما يجب فحصه في الاستضافة المشتركة

لا يمكن تقييم php2shell (⁦CVE-2026-109618 / 109619⁩) بالأمر php -v: أين تختلف أرقام الإصدارات بين 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

البندالتفاصيل
CVECVE-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.1254 (بما فيها RC1)2026-10-21 18:59–22:132026-10-21 22:12–10-22 01:05
8.4.2754 (تشمل RC1)⁦2026-10-21 22:09–22:11⁩⁦2026-10-21 22:09–10-22 03:58⁩
8.3.3627⁦2026-10-21 22:04–22:06⁩⁦2026-10-21 22:04–10-22 03:56⁩
8.2.3527⁦2026-10-21 21:59–22:01⁩⁦2026-10-21 22:00–10-22 00:58⁩

أظهر هذا الفحص ثلاث نقاط قد يضلّلك فيها الحكم بالأرقام.

  1. «حُدِّث مؤخرًا» لا يعني «تم الإصلاح». أُعيد بناء الوسم المثبّت 8.3.35 خلال 2026-10-21، لكن قيمة PHP_VERSION بداخله بقيت 8.3.35. انظر إلى الإصدار الموجود داخل الصورة لا إلى وقت التحديث.
  2. قد يختلف الـ 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 إصدارًا مصحَّحًا.
  3. لا توجد صور رسمية مصحَّحة للإصدار 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.18.1.2-1ubuntu2.28USN-8948-1
Ubuntu 24.04 (noble)php8.38.3.6-0ubuntu0.24.04.13USN-8948-1
Ubuntu 26.04 (resolute)php8.58.5.4-0ubuntu1.5USN-8948-1
Ubuntu (stonking)php8.58.5.9-0ubuntu2.1USN-8948-1
Ubuntu 14.04 / 16.04 / 18.04 / 20.04php5 / php7.0 / php7.2 / php7.4متاح عبر Ubuntu Pro (بما فيه Legacy Support)USN-8948-2
Debian 12 (bookworm)php8.28.2.35-1~deb12u1DLA-4848-1
Debian 13 (trixie)php8.48.4.27-1~deb13u1DSA-6574-1
RHEL 10php / php8.4⁦8.3.36-1.el10_2 / 8.4.27-1.el10_2⁩Red Hat
RHEL 9php (الافتراضية)8.0.30-8.el9_8.1Red 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)، فقد يبقى رقم الإصدار قديمًا.

هناك ثلاثة أمور يمكنك القيام بها بنفسك.

  1. تحقّق من إصدار PHP على جهة الويب. استخدم الملف المؤقت المذكور في الفخ 1 لعرض PHP_VERSION وPHP_SAPI، ثم احذفه فورًا. وإذا كانت لوحة التحكم تتيح اختيار إصدار PHP، فدوّن الإصدار الذي اخترته.
  2. اقرأ إشعار المزوّد، واسأله إن لم يوجد إشعار. اسأل: «في أي إصدارات PHP ضمن باقتي ستُطبَّق إصلاحات CVE-2026-109618 وCVE-2026-109619، ومتى (أو هل طُبّقت)؟» السؤال برقم CVE بدلًا من رقم الإصدار يحصل منك على إجابة تشمل الإصلاحات المنقولة (backports) أيضًا.
  3. إذا كنت قد اخترت إصدارًا غير مدعوم، فانتقل إلى إصدار أحدث. لا يصدر مشروع 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:35PHPの脆弱性に関する当社サービスへの影響について
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:04PHPの脆弱性に関するセキュリティアップデートの対応について
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 -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.