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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
drupal-move-block-markup — Drupal 11.4.8 - عالي - عن بُعد - XSS - نقل تسميات الكتل الشقيقة يتخطى تهريب @label | Kitploit
أدوات/GitHubGitHub/abraxas/drupal-move-block-markup
تحليل الشفرة الثابت (SAST)تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراق
GitHubabraxas/drupal-move-block-markup

drupal-move-block-markup

Drupal 11.4.8 - عالي - عن بُعد - XSS - نقل تسميات الكتل الشقيقة يتخطى تهريب @label

عرض المستودع
11منذ 7 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - drupal-move-block-markup

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  drupal-move-block-markup

المقال: https://abraxaslabs.tech/research/drupal-move-block-markup

drupal-move-block-markup

الفئة: XSS مخزّن الوصول: عن بُعد

Drupal core 11.4.8 (61044508) - Drupal

SA-CORE-2026-012 غيّر صف Move Block الحالي إلى t('@label (current)')، وهو ما يمرّره Html::escape(). أما الصفوف الشقيقة في المنطقة نفسها فلا تزال تُسنِد BlockPluginTrait::label() مباشرةً إلى #markup في MoveBlockForm. ذلك التسمية هي configuration['label']، أي حقل نصي خام. بعد ذلك يقوم Renderer::ensureMarkupIsSafe بترشيح السلسلة ضد XSS باستخدام قائمة وسوم المسؤولين، لذا يبقى <b> (وغيره من وسوم المسؤولين) على قيد الحياة.

محرّر Layout Builder يستطيع تعيين عنوان كتلة إلى HTML يصل إلى محرّر آخر أو مسؤول يفتح Move على كتلة مختلفة في تلك المنطقة. XSS مخزّن في نافذة Move. ليس RCE وليس LPE.

المعرّفلا يوجد CVE بعد
الفئةXSS مخزّن
الوصولعن بُعد (إعداد كتلة Layout Builder؛ الضحية يفتح Move Block)
CWECWE-79
CVSSمتوسط: 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
المنتجDrupal core
المتأثر11.4.8 (61044508071749629aaf3380aa85971e94df9e84)
المصادقةإعداد كتلة Layout Builder. الضحية يفتح Move Block.
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

ما يمكن للمهاجم فعله

الكاتب: مستخدم يستطيع وضع أو إعداد كتل Layout Builder (وليس إعداد الموقع). الضحية: محرّر LB آخر أو مسؤول يفتح Move على كتلة مختلفة في المنطقة نفسها.

الصلاحيةالطريقة / نقطة الوصولالنوعمُثبت مختبريًا أو مُستنتج
طباعة HTML المهاجم في الصف الشقيق لنافذة Move$label['#markup'] = $plugin->label(); ثم ensureMarkupIsSafeسلامة HTMLمُثبت مختبريًا. HTML الشقيق هو <b class="lb-sib">DRUPAL-MOVE-BLOCK-MARKUP-WITNESS</b>
الإبقاء على وسوم المسؤولين (<b>، وبقية Xss::getAdminTagList)سلسلة #markup تُرشَّح ضد XSS بقائمة المسؤولين، لا تُهرَّبسلامة HTMLمُثبت مختبريًا لـ <b>
الجلسة / الإجراءات بصفة محرّر الضحية في أصل Layout BuilderXSS مخزّن في تلك النافذةسلامة جلسة الضحيةمُستنتج. يتوقف المختبر عند HTML الخام في الخلية الشقيقة
سلبي: الصف الحاليt('@label (current)', ...)مغلقمُثبت مختبريًا. &lt;em class="lb-cur"&gt;...
سلبي: الشقيق عبر @labelمسار الأداة المُرقَّعمغلقمُثبت مختبريًا. &lt;b class="lb-sib"&gt;...

مغلق بشأن هذه البقايا: تثبيت موقع Drupal حيّ (هذا المختبر أداة)؛ سرقة جلسة واجهة Layout Builder كأوراكل HTTP مقيس؛ RCE؛ LPE. لا يستطيع الزوار غير المصادَق عليهم فتح Move Block.

بقايا التثبيت نفسها: AttributeXss HTMX attrs.

كيف وجدته

ثبّتت Drupal 11.4.8 بعد SA-CORE-2026-012. أغلق الاستشاري عنوان الكتلة الحالي. MoveBlockForm.php 210-218:

if ($is_current_block) {
  $label['#markup'] = $this->t('@label (current)', ['@label' => $plugin->label()]);
  // ...
}
else {
  $label['#markup'] = $plugin->label();
}

BlockPluginTrait::label() يعيد configuration['label'] عند تعيينه. لا يقوم Renderer::ensureMarkupIsSafe بتصفية XSS لـ MarkupInterface (@label مُهرَّب بالفعل). تُصفّى السلسلة الخام باستخدام قائمة وسوم المسؤول.

المنعطفات الخاطئة المسجّلة بالفعل: التعامل مع الصف الحالي على أنه لا يزال خامًا (وهو ليس كذلك)؛ الادعاء بأن هذا RCE؛ موقع Drupal حي كأوراكل وحيد (المتبقي هو هذه الدوال)؛ reverse shell. مسرح.

Lab

python3 drupal-move-block-markup-Abraxas-Labs.py

أو

cd lab
./run.sh

استهدف فقط http://127.0.0.1:19490. أداة مطابقة لوظائف 11.4.8 (نسخة من بقايا MoveBlockForm، وFormattableMarkup، وensureMarkupIsSafe، وXss::filter). ليست موقع drupal:11.4.8 حيًّا. يستخدم السطر الأخير how=gadget.

SUCCESS drupal-move-block-markup how=gadget sibling-raw-tag=yes current-escaped=yes patched-sibling-escaped=yes DRUPAL-MOVE-BLOCK-MARKUP-WITNESS

الإصلاح

استخدم @label (أو Html::escape) لكل صف، وليس للكتلة الحالية فقط.

المراجع

  • github.com/drupal/drupal وسم 11.4.8 (61044508071749629aaf3380aa85971e94df9e84)
  • MoveBlockForm.php · BlockPluginTrait.php
  • مُرقَّع قريبًا: SA-CORE-2026-012
  • نفس التثبيت: drupal-htmx-attr
  • CWE-79

الترخيص

GNU Affero GPL v3.0. راجع LICENSE. مختبر loopback فقط. دون أي ضمان.

تنزيل الأداة