Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-92084-beaver-builder-shortcode-poc — مختبر تحقق Docker وإثبات مفهوم Python للثغرة CVE-2026-92084، وهي ثغرة تنفيذ shortcode دون مصادقة في Beaver Builder Lite <= 2.11.0.5، مع عنصر تحكم مُرقّع وشاشة nuclei. | Kitploit
أدوات/GitHubGitHub/hassham1/cve-2026-92084-beaver-builder-shortcode-poc
ماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويبمختبرات وتدريب عملي
GitHubhassham1/cve-2026-92084-beaver-builder-shortcode-poc

CVE-2026-92084-beaver-builder-shortcode-poc

مختبر تحقق Docker وإثبات مفهوم Python للثغرة CVE-2026-92084، وهي ثغرة تنفيذ shortcode دون مصادقة في Beaver Builder Lite <= 2.11.0.5، مع عنصر تحكم مُرقّع وشاشة nuclei.

عرض المستودع
منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-92084 - مختبر التحقق من تنفيذ الشورت كود التعسفي في Beaver Builder

مواد بحث أمني لإعادة إنتاج والتحقق من CVE-2026-92084: يقوم Beaver Builder (Lite) <= 2.11.0.5 بتنفيذ شورت كودات WordPress المسجّلة التعسفية المزروعة في مخرجات الودجات التي يعرضها وحدة الشريط الجانبي (Sidebar)، عبر تمريرة do_shortcode() على مستوى التخطيط في المنشئ.

  • المتأثر: Beaver Builder Lite <= 2.11.0.5
  • تم الإصلاح في: 2.11.0.6 (وحدة الشريط الجانبي تضبط 'renders_shortcodes' => false؛ آلية ترميز الأقواس نفسها صدرت سابقًا ولم تتغير)
  • CVSS 3.1: 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) - CWE-94
  • المصادقة: لا توجد، لكن تعليق المهاجم يجب أن يجتاز حد الموافقة على التعليقات في الموقع (موافقة تلقائية أو إجراء من المشرف) قبل أن يعرض ودجت التعليقات الأخيرة الشورت كود المزروع

استخدم فقط على الأنظمة التي تملكها أو المصرّح لك صراحةً باختبارها. يقوم الـ PoC بنشر تعليق واحد يحتوي اسم مؤلفه على شورت كود علامة مسجّلة للمختبر. لا يُستخدم أي شورت كود مدمّر ولا يُكتب أي شيء على القرص.

الحكم

الحالة: مُثبت في المختبر المرفق.

Beaver Builder Lite 2.11.0.5 (WordPress 7.1.2، صفحة منشئ تحتوي على وحدة شريط جانبي

  • ودجت التعليقات الأخيرة):
comment posted : author name "[cve92084]" on the builder page
result         : rendered page contains the marker shortcode's server-side
                 output "CVE92084-SHORTCODE-FIRED"
                 (executed by the layout-wide do_shortcode() pass)
2.11.0.6       : brackets entity-encoded, marker absent (patched negative
                 control; page shows the literal text [cve92084])

هذا يوضح تنفيذًا من جهة الخادم لاختصار (shortcode) مسجّل عشوائيًا مع تضمين المخرجات في الصفحة، مكشوفة لكل زائر. وهو لا يوضح تنفيذًا عن بُعد (RCE)؛ إذ يعتمد التأثير على الاختصارات المسجّلة على الهدف (كشف المقالات/البيانات الوصفية، والنماذج، والاختصارات التي توفرها الإضافات ذات الآثار الجانبية).

السبب الجذري (تم التحقق منه مقابل إصلاح 2.11.0.6)

نقطة التصريف (The sink). يُمرّر FLBuilder::render_content() تخطيط المنشئ المُجمّع عبر تمريرة اختصارات واسعة قبل إخراجه:

// classes/class-fl-builder.php:2139, Beaver Builder Lite 2.11.0.5
$content = do_shortcode( $content );

نقطة الحقن. تُصيّر وحدة الشريط الجانبي (Sidebar) مخرجات ودجات الشريط الجانبي في WordPress حرفيًا داخل ذلك التخطيط:

// modules/sidebar/includes/frontend.php:4, 2.11.0.5
if ( ! dynamic_sidebar( $settings->sidebar ) ) {

محتوى الودجة بيانات مستخدم غير موثوقة - إذ تعرض ودجة التعليقات الأخيرة الأساسية get_comment_author_link()، أي الاسم الذي قدّمه معلّق (غير مصادَق). ولا تعيد FLBuilder::double_escape_shortcodes() سوى وضع الأقواس حول الصيغة المهرَّبة [[x]]، لذا يمرّ [cve92084] العادي عبرها وتنفّذه تمريرة do_shortcode().

الإصلاح. تتضمن النسخة 2.11.0.5 بالفعل آلية التعطيل - FLBuilderModule::$renders_shortcodes = true (class-fl-builder-module.php:143) وFLBuilder::escape_foreign_module_shortcodes() الموصولة بمرشّحَي عرض الوحدة (class-fl-builder.php:109-110، والمطبَّقة عند 3240)، والتي ترمّز كيانات الأقواس لأي اختصار قصير مسجَّل في مخرجات الوحدة. غير أن وحدة الشريط الجانبي لم تُلغِ الاشتراك قط. والتغيير الوظيفي الوحيد في 2.11.0.6 هو إلغاء الاشتراك:

// modules/sidebar/sidebar.php, 2.11.0.6
'renders_shortcodes' => false,
// dynamic_sidebar() renders third-party widget output that can contain
// untrusted user data (e.g. a comment author name via the core Recent
// Comments widget); do not run its shortcodes.

مسار الاستغلال (كما تم التحقق منه)

  1. استهدف أي صفحة builder يحتوي تخطيطها على وحدة Sidebar فوق شريط جانبي يعرض نص widget يمكن للمهاجم التحكم فيه (في المختبر: أداة core Recent Comments؛ على الأهداف الحقيقية أي widget يعرض بيانات المستخدم).
  2. أرسل تعليقًا عبر POST إلى /wp-comments-post.php مع حمولة shortcode كاسم مؤلف التعليق.
  3. يجتاز التعليق حد الموافقة في الموقع (المختبر يوافق تلقائيًا؛ على الأهداف الحقيقية: موافقة تلقائية أو مشرف) ويبدأ widget Recent Comments في عرض اسم المؤلف.
  4. عند العرض التالي وكل عرض لاحق لصفحة builder، يقع ناتج الـ widget داخل التخطيط وتُنفّذ تمريرة do_shortcode() الحمولة. ويحل ناتجها محل اسم المؤلف، مرئيًا لكل زائر.

البدء السريع

المتطلبات: Docker مع Compose v2، وPython 3.10+ على المضيف.

./lab verify

يبني مختبر 2.11.0.5، ويتطلب تفعيل العلامة، ثم يبني مختبر 2.11.0.6 ويتطلب غيابها. أزل كل شيء باستخدام ./lab reset.

الأدلة المتوقعة

عنصر التحكم المصاب:

[!!!] SHORTCODE EXECUTION CONFIRMED
  posted  : comment author '[cve92084]' on page 5
  evidence: 'CVE92084-SHORTCODE-FIRED' present in the rendered builder page
  context : ...<a href="https://github.com/hassham1/cve-2026-92084-beaver-builder-shortcode-poc/blob/main/..." class="url">CVE92084-SHORTCODE-FIRED</a>...
RESULT: VULNERABLE CONTROL CONFIRMED

عنصر تحكم مُرقَّع:

[=] shortcode text present but NOT executed: brackets entity-encoded
    (patched >= 2.11.0.6 behavior: escape_foreign_shortcodes).
RESULT: PATCHED CONTROL CONFIRMED

لا يُقبل وجود العلامة في الصفحة داخل التعليق المعروض فقط (النص الخام) كدليل؛ يجب أن تظهر العلامة كمخرجات تنفيذ الشورت كود.

دورة حياة المختبر اليدوية

./lab start vulnerable   # 2.11.0.5 lab on http://127.0.0.1:9488
./lab test               # assert marker fires
./lab start patched      # 2.11.0.6 lab
./lab test               # assert absence
./lab status
./lab reset

شغّل PoC يدويًا (الافتراضي هو loopback؛ الأهداف الخارجية المصرّح بها تحتاج إلى التجاوز الصريح):

python3 poc/poc_cve_2026_92084.py --url http://127.0.0.1:9488 --post-id 5
python3 poc/poc_cve_2026_92084.py --url https://target.example \
  --post-id 5 --allow-authorized-non-loopback [--insecure]

قالب nuclei (nuclei/cve-2026-92084.yaml) هو فحص إصدار فقط (الوسم المستقر في readme.txt <= 2.11.0.5). تتطلب سلسلة السلوك إرسال تعليق إضافةً إلى انتقال موافقة، وهو أمر غير عملي للتعبير عنه في nuclei؛ ينفّذ PoC بلغة Python التدفق الكامل.

الإصدارات المتأثرة والمختبرة

الإصدارالتقييم
Beaver Builder Lite 2.11.0.5أُعيد إنتاج تنفيذ الشورت كود من البداية إلى النهاية
Beaver Builder Lite 2.11.0.6أُعيد إنتاج الضابط السلبي المُرقَّع
Beaver Builder Lite <= 2.11.0.4متأثر وفق الاستشارة؛ لم يُختبر بشكل فردي
Beaver Builder (Pro/Agency)لم يُختبر - نطاق الاستشارة هو إضافة Lite

تخطيط المستودع

.
├── .github/workflows/validate.yml
├── .gitignore
├── LICENSE
├── README.md
├── SECURITY.md
├── docker-compose.yml
├── lab
├── nuclei/
│   └── cve-2026-92084.yaml
├── poc/
│   └── poc_cve_2026_92084.py
└── provision/
    └── install.php

غير مُودَع في المستودع: assets/ (ملفات zip الخاصة بالإضافة)، .lab-state، __pycache__/.

حدود التحقق

الادعاءالحالة
تنفيذ الشورت كود عبر مخرجات أداة وحدة الشريط الجانبيمُثبَت (2.11.0.5)
الكشف عن مخرجات التنفيذ في صفحة المنشئ المعروضةمُثبَت
عنصر تحكم سلبي مُرقَّع (2.11.0.6، الأقواس مُرمَّزة)مُثبَت
التكوين الافتراضي (الشريط الجانبي المختبري + أداة التعليقات الأخيرة)مُثبَت (هذه هي بنية المختبر)
أدوات أخرى تُعيد إظهار بيانات المستخدم (سحابة الوسوم، ميتا، مخصصة)لم تُختبر
التأثير بما يتجاوز مخرجات الشورت كود المسجَّلة (RCE)غير مُدَّعى

المراجع

  • Wordfence: CVE-2026-92084
  • مدخل NVD
  • إصلاح المورّد: changeset 3713226
  • إضافة Beaver Builder

حدود السلامة

شغِّل هذا المستودع فقط على الأنظمة التي تملكها أو المصرَّح لك صراحةً باختبارها. يرفض مشغِّل المختبر أي متغيرات غير vulnerable/patched، ويرفض الـ PoC الأهداف غير المحلية (non-loopback) ما لم يتم توفير --allow-authorized-non-loopback، ومنفذ Compose مرتبط بـ 127.0.0.1.

تنزيل الأداة