
تصعيد صلاحيات غير مُصادق عليه في WordPress WAWP (Automation Web Platform) ≤ 4.8.6 عبر تسجيل REST العام و wawp_custom_fields غير المُعقّم → admin. Python check/exploit PoC (PoCbit).
Python 3 PoC لـ CVE-2026-14281 في إضافة WordPress Automation Web Platform (automation-web-platform — WAWP / Notifications & OTP for WooCommerce).
مُدرج على PoCbit — كتالوج المجتمع: https://pocbit.org/pocs/
تشغيل PoC يطبع ترويسة PoCbit؛ أسطر JSONL تتضمن pocbit وpocbit_catalog وpocbit_page.
| المنصة | إضافة WordPress |
| المكوّن | Automation Web Platform (WAWP) |
| المتأثر | ≤ 4.8.6 |
| تم الإصلاح في | > 4.8.6 (الترقية إلى أحدث إصدار مستقر) |
| CVSS 3.1 | 9.8 حرج (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| المصادقة | بدون مصادقة |
| المتجه | REST عام POST /wp-json/wawp/v1/signup/signup |
معالج REST للتسجيل (public_permissions_check) يقبل wawp_custom_fields، ويحوّله إلى custom_fields_data، وبعد wp_insert_user() يكتب كل مفتاح باستخدام update_user_meta() دون قائمة سماح. يمكن للمهاجمين تعيين wp_capabilities و**wp_user_level** للحصول على صلاحيات administrator.
الكود ذو الصلة (4.8.6): includes/api/class-wawp-rest-settings-api.php (/signup/(?P<op>…))، includes/auth-services/class-wawp-otp-service.php (wawp_custom_fields → custom_fields_data)، includes/auth-services/class-wawp-signup.php (finish_registration_logic).
عند تفعيل OTP للتسجيل، قد يتوقف أول استدعاء signup عند otp_verify (تم إرسال التحدي) ولا يكتمل التسجيل إلا بعد OTP — قد تتطلب سلسلة admin الكاملة دون مصادقة تعطيل OTP أو تجاوز OTP منفصل. يُبلّغ PoC عن otp_required في تلك الحالة.
pip install -r requirements.txt
Python 3.8+.
# Version + REST surface + optional live signup probe (creates a throwaway user if OTP off)
python poc.py -u https://target.example --mode check
# Register admin-capable user (authorized targets only)
python poc.py -u https://target.example --mode exploit --verify
# Mass scan
python poc.py --list targets.example.txt --mode check --threads 20 --quiet
# JSON to stdout (single target)
python poc.py -u https://target.example --mode check 2>nul
| الملف | المعنى |
|---|---|
cve_2026_14281_results.jsonl | JSON كامل لكل هدف |
hits.txt | المضيفون المرشحون (check) أو url|email|password (exploit) |
candidates.jsonl | ملخص وضع الفحص |
body="/wp-content/plugins/automation-web-platform/"
body="/wp-json/wawp/"
استخدم فقط على الأنظمة التي تملكها أو لديك إذن صريح باختبارها.
| الحالة | المعنى |
|---|
exploit_confirmed_probe | اكتمل فحص التسجيل (OTP معطّل)؛ مسار حقن meta نشط |
vulnerable_otp_blocks_signup | الإضافة/الإصدار + REST جيد؛ خطوة OTP تحجب التسجيل لمرة واحدة |
vulnerable_rest_signup | إصدار قابل للاستغلال؛ REST يمكن الوصول إليه (الفحص غير حاسم) |
patched | الإصدار > 4.8.6 |
no_plugin | لم يتم اكتشاف الإضافة |