Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
php2shell-eol-backport — إصلاح غير رسمي لـ CVE-2026-109618 / CVE-2026-109619 (php2shell) لحزم PHP 5.4 / 5.3 التي وصلت إلى نهاية عمرها الافتراضي في RHEL وCentOS وOracle Linux 7 / 6 | Kitploit
أدوات/GitHubGitHub/alvm/php2shell-eol-backport
أدوات دفاعيةتحليل الثغرات الأمنيةتدقيق التكوينDevSecOpsالأدوات والمكوناتأمن سلسلة التوريد
GitHubalvm/php2shell-eol-backport

php2shell-eol-backport

إصلاح غير رسمي لـ CVE-2026-109618 / CVE-2026-109619 (php2shell) لحزم PHP 5.4 / 5.3 التي وصلت إلى نهاية عمرها الافتراضي في RHEL وCentOS وOracle Linux 7 / 6

عرض المستودع
منذ 9س 22دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

php2shell-eol-backport

إصلاح غير رسمي لـ CVE-2026-109618 و CVE-2026-109619 ("php2shell") لحزم PHP منتهية الصلاحية في Enterprise Linux 6 و7: php-5.3.3 (RHEL / CentOS / Oracle Linux 6) و php-5.4.16 (RHEL / CentOS / Oracle Linux / Scientific Linux 7).

أصلحت PHP كلتا الثغرتين في 21 أكتوبر 2026 في 8.2.35 و8.3.36 و8.4.27 و8.5.12، ونشرت ترقيعات خلفية للمصدر لـ 7.4 و8.0 و8.1. لم يُصدر شيء لـ PHP 5، ولم تُصدر جهات توزيع EL6 / EL7 إصلاحًا. إذا كان عليك إبقاء نظام كهذا قيد التشغيل، يمنحك هذا المشروع حزمًا مُعاد بناؤها من جهة التوزيع مع نقل الإصلاح الأدنى الرسمي.

هذا ليس إصلاحًا رسميًا من PHP أو Red Hat أو Oracle. إنه يقلل المخاطر حتى تتمكن من الانتقال إلى إصدار PHP مدعوم — افعل ذلك في أقرب وقت ممكن. على EL8 / EL9 / EL10، ثبّت تحديثات جهة التوزيع بدلًا من ذلك (على سبيل المثال ELSA/RHSA-2026:87080، 87151، 87079).

ما الذي تم إصلاحه

  • CVE-2026-109618 و CVE-2026-109619، CVSS 4.0 9.2.
  • الترقيع هو نقل لالتزام php-src 712e60f9ed ("Avoid state corruption via bailout")، وهو الترقيع الخلفي الأدنى الرسمي لـ PHP 7.4، إلى قاعدة شيفرة PHP 5.3 / 5.4. يُطبَّق فوق حزمة جهة التوزيع مع جميع ترقيعاتها الأمنية الحالية.
  • الترقيعات مصنوعة مقابل أشجار مصدر جهة التوزيع. وهي لا تُطبَّق على أرشيفات الإصدار العادية php-5.4.16 / php-5.3.3، التي تفتقر إلى إصلاحات جهة التوزيع الأمنية اللاحقة في الشيفرة نفسها (على سبيل المثال CVE-2015-4024 في تحليل ترويسات multipart).
التوزيعةحزمة جهة التوزيعالحزمة المُصلحة من هذا المشروع
RHEL / CentOS / Oracle Linux / Scientific Linux 7php-5.4.16-48.el7php-5.4.16-48.el7.php2shell.1
RHEL / CentOS / Oracle Linux 6php-5.3.3-50.el6_10php-5.3.3-50.el6_10.php2shell.1

تُرتَّب لاحقة الإصدار أعلى من حزمة جهة التوزيع، وأدنى من أي إصدار تصحيحي مستقبلي من جهة التوزيع (على سبيل المثال 48.el7_9.1)، لذا فإن الإصلاح الرسمي، إن ظهر يومًا ما، يستبدل هذا الإصلاح بتحديث عادي.

ما مدى خطورة هذا على PHP 5؟

على الأرجح أقل من PHP 7 و8، لكن لا توجد إجابة قاطعة بعد:

  • تُصنّف Red Hat حزم php في RHEL 6 / 7 على أنها غير متأثرة بـ CVE-2026-109619 ("الشيفرة المعرضة للخطر غير موجودة") وتُدرج CVE-2026-109618 على أنها قيد التحقيق (CSAF VEX).
  • وجد تحليل مستقل لـ PHP 5.3 أنه يمكن الوصول إلى خطأ نفاد الذاكرة، لكن خطوة إفساد الذاكرة المنشورة تعتمد على البنية الداخلية لمحرك PHP 7، لذا ينتهي الهجوم المعروف على PHP 5 بحجب الخدمة. تم تقييم PHP 5.4–5.6 بمقارنة الشيفرة، لا بالاختبار، ولم تُستبعد مسارات هجوم أخرى.

يطبّق هذا المشروع التخفيف الرسمي على أي حال: فهو يزيل مسار الخطأ غير الآمن نفسه، وليس فقط الطريقة المعروفة للوصول إليه.

التثبيت

من مستودع yum الموقّع على GitHub Pages:

# EL7
curl -o /etc/yum.repos.d/php2shell-eol-backport.repo \
  https://alvm.github.io/php2shell-eol-backport/php2shell-eol-backport-el7.repo
# EL6
curl -o /etc/yum.repos.d/php2shell-eol-backport.repo \
  https://alvm.github.io/php2shell-eol-backport/php2shell-eol-backport-el6.repo

yum update 'php*'            # confirm the signing key: fingerprint under "Signing key" below
service httpd restart        # and php-fpm, if you use it

يحتوي المستودع على حزم PHP الخاصة بهذا المشروع فقط، وكلا الحزم وبيانات التعريف الخاصة بالمستودع موقّعة (gpgcheck=1، repo_gpgcheck=1). كما تُرفَق حزم RPM وحزم RPM المصدرية بكل إصدار، مع ملف SHA256SUMS موقّع؛ ثبّتها باستخدام yum localinstall.

فحص نظام

./tools/check-patched.sh

يسرد كل حزمة PHP 5 مثبّتة على أنها FIXED أو VULNERABLE، ويتحقق من أن PHP CLI يشغّل الشيفرة المُصلحة، ويحذّر إذا كان httpd أو php-fpm قد بدأ قبل التحديث ولا يزال يشغّل الشيفرة القديمة.

تغييرات السلوك والقيود المعروفة

يتبع الإصلاح عملية backport الرسمية الدنيا، التي تُفضّل السلامة على معالجة الأخطاء بلطف:

  • استنفاد الذاكرة يُنهي عملية PHP. عندما يتجاوز الطلب memory_limit (أو يفيض حجم تخصيص)، تطبع PHP Fatal error: ... إلى stderr (سجل أخطاء خادم الويب) وتخرج العملية فورًا. يبدأ Apache / php-fpm عاملًا جديدًا. لا تُنفَّذ دوال الإغلاق، ولا تُزال الملفات المؤقتة للتحميلات في ذلك الطلب — ينظّفها tmpwatch (EL6) وsystemd-tmpfiles (EL7) من /tmp بمرور الوقت.
  • تقدّم تحميل الجلسة معطّل (PHP 5.4؛ لا يوجد في PHP 5.3).
  • طلبات multipart: تُحتفظ فقط بترويسات Content-Disposition وContent-Type لكل جزء (وهي الوحيدة التي تستخدمها PHP)، وتحدّ توجيهات php.ini الجديدة max_multipart_body_parts من عدد الأجزاء (الافتراضي -1 = max_input_vars + max_file_uploads).
  • تُضيف الرقعة دالة مُصدَّرة واحدة (zend_mm_safe_error_ex) ولا تغيّر أي API أو ABI قائم، لذا تستمر الإضافات المبنية لحزمة المورّد في العمل.

هذا تخفيف أدنى لمسارات الهجوم المنشورة، وليس تحديثًا أمنيًا كاملًا لـ PHP 5.

كيف تم التحقق

  • بُنيت من حزم RPM المصدرية للمورّد (SHA-256 مثبّت في build/build.sh)؛ تغيير spec هو 8 أسطر (spec/*/php.spec.diff).

  • قُورنت مجموعة اختبارات PHP (make test، التي تُشغَّل أثناء بناء RPM) بإعادة بناء غير معدّلة لنفس حزمة المورّد. الإخفاقات الجديدة الوحيدة متوقعة: اختبارات تقدّم تحميل الجلسة (الميزة معطّلة) وtests/lang/bug45392.phpt (رسالة الخطأ القاتل تبدأ الآن بسطر فارغ، كما في رقعة 7.4 الرسمية).

    الاختباراتفشل: المورّدفشل: المُرقَّع
    EL7, PHP 5.4.16123731423 (8 تقدّم التحميل + bug45392)
    EL6, PHP 5.3.3112135556 (bug45392)

    تتفاوت الأعداد الدقيقة قليلًا بين بيئات البناء: على مشغّلات GitHub يفشل أيضًا اختبارا مالك ملف SPL (DirectoryIterator_getOwner/getGroup_basic)، وtime_sleep_until_basic حساس للتوقيت. لا يمسّ أيٌّ منها الشيفرة التي غيّرتها الرقعة.

  • قُورنت رقعة PHP 5.4 بنقل مستقل لنفس الإصلاح الخاص بـ php-5.4.16 في Amazon Linux 2: التغييرات الأساسية متطابقة. الفروقات مذكورة في docs/ALTERNATIVES.md.

  • لم تُكتب أو تُستخدم أي شيفرة استغلال. يُرجى مراجعة الرقعة مقابل الـ commit upstream بنفسك.

البدائل

  • تجاري: أصدرت TuxCare Extended Lifecycle Support حزمًا مُصلحة لـ EL6 وEL7 في 21 أكتوبر 2026.
  • رقعات مجانية أخرى: معظمها لمصادر upstream 5.4.45 / 5.3.29، وواحدة لـ Amazon Linux.

راجع docs/ALTERNATIVES.md لحالة المورّد وقائمة المشاريع ومقارنة.

ابنِه بنفسك

يتطلب Docker وحوالي 3 GB من المساحة الحرة على القرص لكل عملية بناء.

build/build.sh el7      # results in _build/el7/RPMS
build/build.sh el6      # results in _build/el6/RPMS

يقوم السكربت بتنزيل حزمة RPM المصدرية من المورّد، ويتحقق من تجزئتها SHA-256، ويعيد بناءها داخل حاوية Oracle Linux مثبّتة الإصدار مع ملف spec والتصحيح (patch) من هذا المستودع.

مفتاح التوقيع

تُوقَّع الحزم ووسوم الإصدار باستخدام:

pub   rsa4096/80797C97A561BC94 2026-10-22 [SC] [expires: 2029-10-21]
      2757 B60F D23D ED25 021B  BE37 8079 7C97 A561 BC94
uid   Oleksii Molchanov (php2shell-eol-backport signing key) <[email protected]>

المفتاح موجود في هذا المستودع (RPM-GPG-KEY-php2shell-eol-backport) وعلى keyserver.ubuntu.com.

تخطيط المستودع

patches/el7, patches/el6   the fix, as a patch against the vendor source tree
spec/el7, spec/el6         vendor spec files with the patch added, and their diffs
build/                     reproducible container build
tools/check-patched.sh     check an installed system
docs/ALTERNATIVES.md       vendor status, other projects, comparison
SECURITY.md                how to report a security problem

الإبلاغ عن المشكلات

تنزيل الأداة