
مدقّق حزم PHP2Shell للقراءة فقط على Debian 12/13 (CVE-2026-109618، CVE-2026-109619).
تدقيق للقراءة فقط لحزم PHP على Debian 12 (bookworm) وDebian 13 (trixie). يتحقق من إصدارات الحزم مقابل الإصلاحات المنشورة لـ CVE-2026-109618 و CVE-2026-109619، المعروفين باسم PHP2Shell.
يقوم بجرد حزم PHP الأساسية عبر الفروع المثبتة، بما في ذلك PHP-FPM،
وCLI، وCGI، وApache mod_php، بدلاً من الاعتماد على الأمر الافتراضي php -v.
كما يبلّغ عن مرشحي APT، وتعليقات الحزم، ومسارات التشغيل الشائعة خارج
الحزم المقيَّمة.
هذا مدقق لإصدارات الحزم، وليس استغلالاً لثغرة أمنية ولا شهادة بأن الخادم آمن. لا يقوم بتثبيت الحزم، ولا تغيير الإعدادات، ولا تحديث فهارس APT، ولا إعادة تشغيل الخدمات، ولا تنفيذ ثنائيات PHP، ولا إجراء طلبات شبكة.
المتطلبات: Debian 12 أو 13، وPython 3.9+ وأدوات dpkg/APT القياسية.
لا توجد تبعيات Python من طرف ثالث. لا يُشترط أن تكون root لتشغيل المدقق؛
تُبلَّغ مسارات الفحص غير القابلة للوصول على أنها غير مكتملة.
git clone https://github.com/toxy4ny/php2shell-checker.git
cd php2shell-checker
# Optional, separate operation: refresh available package versions.
sudo apt update
python3 check-php2shell.py
مرآة GitHub: https://github.com/toxy4ny/php2shell-checker
يمكنك أيضًا تنزيل check-php2shell.py فقط، وفحصه وتشغيله محليًا.
لتضمين دليل تثبيت مخصص:
python3 check-php2shell.py --scan-root /www/server/php --scan-root /srv/php
يغطي الفحص الافتراضي المسارات /usr/bin و/usr/sbin و/usr/lib/cgi-bin و/usr/lib/apache2/modules و/usr/local و/opt. ويتعرّف على أسماء الملفات الشائعة لـ PHP وPHP-FPM وCGI وLiteSpeed PHP وFrankenPHP ووحدات Apache. لا يتم تتبّع الروابط الرمزية للأدلّة؛ مرّر أدلّة أهدافها صراحةً.
| الحالة | المعنى |
|---|---|
FIXED | تستوفي بيانات تعريف الحزمة حدّ إصدار مُرقَّع معروف. |
UPDATE | إصدار حزمة Debian قابل للتعرّف عليه وأقل من حدّه المُصلَح. |
UNKNOWN | لا يمكن التحقق من المعالجة تلقائيًا. راجع مورّد الحزمة. |
الحزم الخارجية الأقدم لا تُصنَّف تلقائيًا على أنها مصابة: فقد يكون مورّدها قد نقل الإصلاح خلفيًا (backport). وتبقى UNKNOWN حتى يُثبَّت إصدار مُصلَح مدعوم أو يُتحقَّق من الإصلاح الخلفي بشكل مستقل. ولا يُعدّ رقم epoch أو رقم مراجعة تغليف كبير بحد ذاته إصلاحًا من المنبع أبدًا. كما أن تسمية الإصدار ليست دليلًا على أصالة المستودع أو سلامة الحزمة.
مثال على المخرجات (توضيحي، وليس فحصًا لخادمك):
[UPDATE] php8.2-fpm installed=8.2.34-1~deb12u1
Debian package version below 8.2.35-1~deb12u1; source=php8.2 (8.2.34-1~deb12u1)
Candidate: 8.2.35-1~deb12u1 [FIXED] — Debian package version >= 8.2.35-1~deb12u1
إذا قدّم APT مرشّحًا ثابتًا أحدث، يطبع التقرير أمر محاكاة وأمر تحديث للحزم المؤهلة. لا يُنفَّذ أيٌّ منهما. تُحدَّد الحزم المحجوزة وتُستبعَد من الأمر المقترح. قد تؤثر التبعيات والحجوزات على المعاملة الكاملة: راجع المحاكاة قبل المتابعة.
رموز الخروج:
| الرمز | المعنى |
|---|---|
0 | جميع حزم نواة PHP المكتشفة تستوفي الحدود الثابتة المعروفة، دون أي نتائج إضافية غير معروفة في النطاق المفحوص. |
1 | تحتاج حزمة واحدة على الأقل إلى تحديث، دون نتائج غير معروفة. |
2 | نتائج غير معروفة، أو تدقيق غير مكتمل، أو لم تُعثر على حزم نواة PHP، أو نظام غير مدعوم، أو خطأ في التنفيذ. له الأولوية على 1. |
القواعد مُتحقَّق منها بتاريخ 2026-10-22. وهي مضمّنة في السكربت ولا تُحدَّث تلقائيًا. يُبلَّغ عن أي فرع مستقبلي/غير مُعيَّن على أنه UNKNOWN.
| الحزمة أو الفرع | الحد الثابت |
|---|---|
حزمة المصدر php8.2 في Debian 12 | 8.2.35-1~deb12u1 |
حزمة المصدر php8.4 في Debian 13 | 8.4.27-1~deb13u1 |
| PHP 8.2 من المنبع | 8.2.35 |
| PHP 8.3 من المنبع | 8.3.36 |
| PHP 8.4 من المنبع | 8.4.27 |
| PHP 8.5 من المنبع | 8.5.12 |
المراجع الأساسية:
apt update قبل الاعتماد على خطة الترقية المقترحة.FIXED أن مضيفًا لم يُخترَق قط.python3 -m unittest discover -s tests -v
تُشغَّل اختبارات الـ fixture دون Debian. على Debian، تستخدم اختبارات إضافية الأمر الحقيقي dpkg --compare-versions لتغطية حدود الإصدارات، والإصدارات المسبقة، والحقب (epochs)، ومراجعات التغليف. تُشغّل CI الاختبارات وفحصًا سريعًا لـ PHP المثبّت على إصداري Debian كليهما، على GitHub وGitLab.
بالنسبة للتغييرات على قواعد الإصدارات، أدرِج استشارة من المورّد الأساسي واختبار انحدار. يُرجى حجب أسماء المضيفين والمسارات الحساسة من تقارير الأخطاء. لا تُدرِج بيانات الاعتماد أو مقتطفات إعدادات الإنتاج.
MIT. حقوق النشر (c) 2026 مساهمو PHP2Shell Checker.