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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-87902 — يفحص WordPress Core 4.7.0–7.1.1 بحثًا عن CVE-2026-87902، وهو LFI غير مُصادَق عليه عبر تجاوز pagename مزدوج الترميز، مع تصعيد اختياري إلى RCE عبر PEAR config-create وفحص جماعي. | Kitploit
أدوات/GitHubGitHub/langz337/cve-2026-87902
الاستطلاعماسحات الثغرات الأمنيةماسحات الثغرات الأمنية للويبالاستغلالاستغلال تطبيقات الويبجمع المعلوماتأمن الويباختبار الاختراقأداة الوصول عن بعد
GitHublangz337/cve-2026-87902

CVE-2026-87902

يفحص WordPress Core 4.7.0–7.1.1 بحثًا عن CVE-2026-87902، وهو LFI غير مُصادَق عليه عبر تجاوز pagename مزدوج الترميز، مع تصعيد اختياري إلى RCE عبر PEAR config-create وفحص جماعي.

1منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-87902 — تضمين ملف محلي غير مُصادَق عليه في نواة WordPress (LFI ← تنفيذ تعليمات برمجية عن بُعد بشروط)

أداة استغلال ثغرة اجتياز المسار في get_page_template() / locate_template() في نواة WordPress

للاختبار الأمني المُصرَّح به فقط. الوصول غير المُصرَّح به إلى أنظمة الحاسوب غير قانوني.


نظرة عامة على الثغرة

العنصرالتفاصيل
معرّف CVECVE-2026-87902
معرّف GHSAGHSA-7hp8-65ch-5whp
نوع الثغرةCWE-98 — التحكم غير السليم في اسم الملف الخاص بـ Include/Require
CVSS v3.18.1 (مرتفع) / CVSS 4.0: 9.2 (حرج)
المكوّن المتأثرنواة WordPress
الإصدارات المتأثرة4.7.0 حتى 7.1.1 (جميع الفروع)
الإصدارات المُصلَحة7.1.2 (والترقيعات الرجعية وصولاً إلى 4.7.37)
المصادقة المطلوبةلا شيء (غير مُصادَق عليه)
ناقل الهجومطلب GET واحد
المكتشِفRobert Ressl (عبر برنامج HackerOne الخاص بـ WordPress)
تاريخ الإفصاح22 سبتمبر 2026
استُغِلَّت في البريةنعم — مُدرجة في كتالوج CISA KEV

CVE-2026-87902 هي ثغرة اجتياز مسار وتضمين ملف محلي (LFI) غير مُصادَق عليها في نواة WordPress، تؤثر على كل إصدار من WordPress صدر منذ عام 2016 (4.7.0 حتى 7.1.1). لا يحتاج المهاجم إلى أي حساب أو مصادقة. من خلال صياغة معامل استعلام pagename خبيث، يمكن للمهاجم إجبار آلية تحديد قالب الصفحة في WordPress على تضمين أي ملف .php قابل للقراءة خارج دليل القالب النشط. وفي ظروف خادم محددة (PHP register_argc_argv = On وملف pearcmd.php قابل للقراءة)، يمكن تصعيد الثغرة إلى تنفيذ تعليمات برمجية عن بُعد (RCE).


الإصدارات المتأثرة

الفرعالإصدار المُصلَح
4.7.x4.7.37
5.0.x5.0.29
5.3.x5.3.25
5.9.x5.9.18
6.0.x6.0.16
6.6.x6.6.9
6.9.x6.9.9
7.0.x7.0.6
7.1.x7.1.2

التفاصيل التقنية

السبب الجذري

تكمُن الثغرة في get_page_template() داخل wp-includes/template.php. عند وجود متغير الاستعلام pagename، تُنشئ الدالة page-{$pagename}.php لكنها تفشل في استدعاء validate_file() على تلك القيمة للتحقق من اجتياز الدليل. ثم يُمرَّر اسم الملف المرشَّح إلى locate_template()، التي تدمجه مع مسار دليل القالب وتتحقق فقط من file_exists() — دون التحقق من أن المسار المُحلَّل يبقى داخل دليل القالب. لذلك يمكن لاسم قالب يحتوي على ../ أن يُحلَّل إلى ملف PHP قابل للقراءة خارج القالب النشط، ثم يُضمَّن ويُنفَّذ.

سلسلة الاستدعاء

GET /?page_id=&pagename= → WP_Query resolves page_id, matches a published page (avoids 404) → get_page_template() urldecode()s pagename, builds page-{$pagename}.php → locate_template() concatenates candidate to theme directory, resolves via file_exists() → template-loader executes realpath() + include

تجاوز الترميز المزدوج

يُطبِّق WordPress الدالة sanitize_title_for_query() على pagename، التي تستبدل النقاط الحرفية (.) بشرطات (-) لمنع اجتياز المسار. وهي تعمل على مدخلات سبق فك ترميزها مرة واحدة ولا تفك الترميز بشكل متكرر. يرسل المهاجم %252e%252e%252f (وهو ../ مُرمَّز مرتين):

  1. يفك خادم الويب الترميز مرة واحدة: %252e ← %2e، و%252f ← %2f
  2. ترى sanitize_title_for_query() القيمة %2e%2e%2f (بلا نقاط حرفية) فتمررها كما هي
  3. تستدعي get_page_template() داخلياً urldecode() مرة أخرى: %2e%2e%2f ← ../
  4. يصبح تسلسل اجتياز المسار فعّالاً

شروط الاستغلال المسبقة

  1. يحتوي القالب النشط (الأصل أو الفرعي) على دليل من المستوى الأعلى يبدأ بـ page- (مثل page-templates/).
  2. يوجد على الأقل صفحة منشورة واحدة يمكن توفير معرّفها كـ page_id.
  3. يجب أن ينتهي الملف الهدف بـ .php (يُضيف WordPress الامتداد).

ملاحظة حول مضيفي Windows: تُطبِّع Win32 المسار .. معجمياً، لذا قد ينجح اجتياز المسار حتى إذا لم يكن دليل page- موجوداً. أما على Linux، فيجب أن يكون ذلك الدليل موجوداً فعلياً.

تصعيد RCE عبر PEAR

الشروط:

  • ضبط register_argc_argv في PHP على On
  • وجود ملف pearcmd.php قابل للقراءة على الخادم

يقوم المهاجم بتضمين pearcmd.php عبر LFI ويستغل أمر config-create الخاص به لكتابة ملف PHP على الخادم، ثم يضمّن ذلك الملف مرة أخرى عبر LFI لتنفيذ أوامر عشوائية.


أصل CVE والإفصاح عنه

المكتشف

تم اكتشاف CVE-2026-87902 والإبلاغ عنه من قبل Robert Ressl، وهو باحث أمني مقيم في سويسرا.

عملية الإفصاح

تم الإبلاغ عنه عبر برنامج HackerOne الخاص بـ WordPress في يوليو 2026. نسّق فريق أمان WordPress الإصلاح وأصدره إلى جانب WordPress 7.1.2 في 22 سبتمبر 2026.

الجدول الزمني للإفصاح

التاريخالحدث
يوليو 2026يبلّغ Robert Ressl عن الثغرة عبر برنامج HackerOne الخاص بـ WordPress
22 سبتمبر 2026إصدار WordPress 7.1.2 مع الإصلاح؛ نشر الإشعار الأمني
22 سبتمبر 2026إصدار تحديثات أمنية احتياطية للفروع من 7.0 حتى 4.7
23 سبتمبر 2026يبدأ المهاجمون بفحص المواقع المعرّضة للثغرة
25 سبتمبر 2026تضيف CISA الثغرة CVE-2026-87902 إلى كتالوج KEV

ميزات الأداة

الميزةالوصف
تحديد بصمة الإصداريحدد إصدار WordPress عبر meta generator وخلاصة RSS وOPML وreadme.html و?ver= في الأصول
حكم ذكي على الإصداريستخدم تعيين الإصدارات المُصلحة لتحديد ما إذا كان الهدف ضمن النطاق المتأثر
اكتشاف القالبيستخرج معرّف القالب النشط، ويكتشف القالب الأب، ويكتشف أدلة page-*
اكتشاف معرّفات الصفحاتيعثر على معرّفات صفحات صالحة عبر REST API وفئة الجسم page-id- والروابط المختصرة
التحقق عبر أوراكل LFIيستخدم ملفات آمنة مثل wp-links-opml.php وwp-trackback.php كأوراكل مع ضوابط سلبية
اجتياز المسار مزدوج الترميزيرمّز / و. ترميزًا مزدوجًا بنسبة مئوية تلقائيًا لتجاوز sanitize_title_for_query()
استغلال PEAR RCEيجرّب مسارات PEAR الشائعة، ويكتب ملفات علامة وينفذها عبر config-create
الفحص الجماعيفحص متزامن متعدد الخيوط لقوائم الأهداف
إخراج النتائجيحفظ النتائج في vuln_lfi.txt وvuln_lfitorce.txt

المتطلبات

  • Python 3.10+
  • مكتبة requests

pip install requests


الاستخدام

البدء

python3 CVE-2026-87902.py

القائمة التفاعلية:

[1] فحص فردي LFI [2] فحص فردي LFI + RCE [3] فحص جماعي LFI [4] فحص جماعي LFI + RCE [5] خروج

فحص هدف واحد (LFI فقط)

اختر [1]، ثم أدخل عنوان URL للهدف:

url > https://target.example.com

فحص هدف واحد (LFI + RCE)

اختر [2]، ثم أدخل عنوان URL والأمر (الافتراضي id):

url > https://target.example.com cmd > id

الفحص الجماعي

اختر [3] أو [4]، ثم أدخل الملف الذي يحتوي على عناوين URL للأهداف (عنوان واحد في كل سطر، و# للتعليقات):

file > targets.txt

ملفات الإخراج

الملفالمحتوى
vuln_lfi.txtأهداف LFI المؤكدة
vuln_lfitorce.txtأهداف RCE الناجحة

الإعدادات

TIMEOUT = 8 # Request timeout (seconds) THREADS = 200 # Concurrent threads for mass scanning USE_ALL_ORACLES = False # Use all oracles (more accurate but slower)


المعالجة

  1. قم بترقية WordPress فورًا إلى 7.1.2 أو أحدث إصدار من فرعك.
  2. إذا لم تكن الترقية الفورية ممكنة:
    • احظر الطلبات التي تحتوي على .. أو %2e أو %252e في المعامل pagename على مستوى WAF أو الوكيل العكسي
    • تحقق مما إذا كان القالب النشط يحتوي على دليل page-*
    • تأكد من إعداد register_argc_argv في PHP
  3. فعّل التحديثات التلقائية الخلفية في WordPress.

إخلاء المسؤولية

هذه الأداة مخصصة للاختبار الأمني المصرّح به والأغراض التعليمية فقط. يجب على المستخدمين التأكد من حصولهم على تصريح كتابي صريح للنظام المستهدف. قد يشكّل الاستخدام غير المصرّح به انتهاكًا لقانون CFAA وقانون إساءة استخدام الحاسوب في المملكة المتحدة وقوانين مماثلة في بلدان أخرى. لا يتحمل المؤلف أي مسؤولية عن أي إساءة استخدام.


المراجع

  • WordPress 7.1.2 Security Release Announcement
تنزيل الأداة