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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
checkmk_broccoli2shell — إضافة Checkmk تفحص مضيفات Linux بحثًا عن مفككات ترميز Brotli (libbrotlidec، Node.js، Python، .NET) المتأثرة بـ CVE-2026-111497، مع التحقق من الإصدارات والـ backports والعمليات القديمة. | Kitploit
أدوات/GitLabGitLab/checkmk1/checkmk_broccoli2shell
أدوات دفاعيةماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةتدقيق التكوينالاستجابة للحوادث
GitLabcheckmk1/checkmk_broccoli2shell

checkmk_broccoli2shell

إضافة Checkmk تفحص مضيفات Linux بحثًا عن مفككات ترميز Brotli (libbrotlidec، Node.js، Python، .NET) المتأثرة بـ CVE-2026-111497، مع التحقق من الإصدارات والـ backports والعمليات القديمة.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
10منذ 19س 7دلم تتم المراجعة بعد

checkmk_broccoli2shell

امتداد لـ Checkmk يُظهر، لكل مُفكِّك ترميز Brotli على مضيف Linux، ما إذا كان متأثرًا بـ Broccoli2Shell - CVE-2026-111497، وهو كتابة خارج الحدود في مُفكِّك ترميز Brotli بلغة C من Google يمكن أن تؤدي إلى تنفيذ تعليمات برمجية عن بُعد عندما يقوم برنامج بفك ضغط بيانات Brotli من مصدر غير موثوق (استجابة HTTP، أو جسم طلب، أو أرشيف). تم الإفصاح عنه في 2026-10-21/22 وتم إصلاحه في Brotli 1.0.10 و1.1.1 و1.2.1، وNode.js 22.23.4 و24.22.1 و26.12.1، وحزم Python Brotli 1.2.1 وbrotlicffi 1.2.1.0، و.NET 8.0.33 و9.0.22 و10.0.14.

يأتي مع وكيل إضافي صغير بصدفة POSIX يجمع الحقائق فقط (مكتبة النظام libbrotlidec، وثنائيات Node.js، وتثبيتات Python Brotli وbrotlicffi، وبيئات تشغيل .NET، وإصداراتها، وسجلات تغييرات الحزم، وما هي مرتبطة به، وأي العمليات لديها محمّلة وأيها لا يزال يشغّل نسخة مستبدلة). أما ما إذا كان ذلك يعني "مُصلَحًا" أو "قابلًا للاستغلال" فيقرره إضافة الفحص على خادم Checkmk، لذا فإن المعلومات الجديدة - إصدار مُصلَح آخر - تحتاج فقط إلى .mkp محدّث، وليس إلى سكربت جديد على كل مضيف.

لماذا لا يكفي مجرد مقارنة أرقام الإصدارات: تقوم التوزيعات بنقل الإصلاح دون تغيير الإصدار الأصلي، وتبني Node.js مقابل مكتبة النظام بدلًا من النسخة التي تحزمها Node.js. توفّر Debian 12 مكتبة libbrotli 1.0.9 وNode.js 18.20.4 (نهاية العمر الافتراضي في المنبع، لا إصلاح) - وكلاهما مُصلَح، لأن حزمة libbrotli1 المحدّثة هي مُفكِّك الترميز الذي تشغّله Node.js. لذلك يقرأ الامتداد سجل تغييرات الحزمة التي تملك كل مُفكِّك ترميز، ويتتبع امتدادات Node.js وPython إلى المكتبة التي ترتبط بها.

المتطلبات

  • Checkmk >= 2.5.0 (باستخدام واجهة برمجة إضافات cmk_addons.plugins الحالية).
  • المضيفون المراقَبون: Linux مع تشغيل وكيل Checkmk بصلاحيات الجذر (تقرأ الإضافة الثنائيات و/proc/<pid>/maps لجميع العمليات). صدفة POSIX sh عادية مع أدوات GNU أو busybox؛ تُقرأ سجلات تغييرات الحزم باستخدام dpkg أو rpm أو apk. تم الاختبار على عائلة Debian، وعائلة Red Hat، وAmazon Linux، وAlpine، انظر أدناه.
  • يتطلب نشر وكيل Agent bakery إصدارًا تجاريًا من Checkmk (Pro، أو Ultimate، أو Ultimate مع تعدد المستأجرين). في إصدار Community، انسخ إضافة الوكيل إلى المضيفين يدويًا، انظر النشر اليدوي لإضافة الوكيل (إصدار Community). تعمل إضافات الفحص والقواعد والخدمات بشكل متطابق في كلتا الحالتين.

تم الاختبار مع

صورة Checkmkالتاريخالنتيجة
checkmk/check-mk-ultimate:2.5.0p172026-10-28OK (build, cmk-validate-plugins, smoke test, install + discovery + check + agent bake)
checkmk/check-mk-ultimate:3.0.0-2026.10.28 (daily)2026-10-28OK (build, cmk-validate-plugins, smoke test, install + discovery + check + agent bake)

تم تشغيل إضافة الوكيل مقابل حزم التوزيعات نفسها والصور الرسمية في 2026-10-28 (scripts/test_agent_plugin.sh)، مع عملية node وعملية python كانت لديهما مُفكِّك الترميز محمّلًا. بعد ذلك تم استبدال المكتبة وثنائي node ووحدات امتداد Python على القرص، وأبلغ كشف إعادة التشغيل عن العمليات قيد التشغيل.

التوزيعات

التوزيعةأجهزة فك الترميزنتيجة الإضافة
Debian 12libbrotli 1.0.9-2+deb12u1، Node.js 18.20.4 (مرتبط)، python3-brotliمُصلح عبر backport (سجل التغييرات)، Node.js عبر المكتبة
Debian 13libbrotli 1.1.0-2+deb13u1، Node.js 20.19.2 (مرتبط)، python3-brotli، python3-brotlicffi (مرتبط)مُصلح عبر backport، Node.js وbrotlicffi عبر المكتبة
Ubuntu 24.04libbrotli 1.1.0-2ubuntu0.1، Node.js 18.19.1 (مرتبط)، python3-brotli، dotnet-runtime-8.0 8.0.32مُصلح عبر backport - ‏.NET عرضة للثغرة (8.0.33 ليس في المستودع بعد)
AlmaLinux 8.10libbrotli 1.0.6-5.el8_10، Node.js 10.24.0 (فك ترميز خاص به)، python3-brotliالمكتبة وBrotli مُصلحان عبر backport - ‏Node.js 10 عرضة للثغرة (انتهى عمره الافتراضي، فك ترميز خاص به)
AlmaLinux 9.8libbrotli 1.0.9-10.el9_8.1، Node.js 16.20.2 (مرتبط)، python3-brotli، dotnet-runtime-8.0 8.0.32مُصلح عبر backport - ‏.NET عرضة للثغرة
AlmaLinux 10.2libbrotli 1.1.0-8.el10_2.1، Node.js 22.23.2 (مرتبط)، python3-brotliمُصلح عبر backport
Fedora 44libbrotli 1.2.1، Node.js 22.23.1 (مرتبط)، python3-brotli 1.2.1مُصلح عبر الإصدار
Amazon Linux 2023libbrotli 1.1.0-1.amzn2023.0.1، Node.js 18.20.8 (مرتبط)عرضة للثغرة - لا توجد حزمة مُصلحة بعد، Node.js عبر المكتبة
Alpine 3.22brotli-libs 1.1.1، Node.js 22.23.4 (مرتبط)، py3-brotli 1.1.1مُصلح عبر الإصدار

الصور الرسمية وPyPI

الصورةأجهزة فك الترميزنتيجة الإضافة
node:24.22.0-slimNode.js 24.22.0 (فك ترميز خاص به)عرضة للثغرة
node:24.22.1-slimNode.js 24.22.1 (فك ترميز خاص به)مُصلح عبر الإصدار
node:20-alpineNode.js 20.20.2 (فك ترميز خاص به)عرضة للثغرة - انتهى عمره الافتراضي، لا يوجد إصلاح
node:24.22.0-slim، الملف التنفيذي منقول إلى /home/dev/.nvm/... (مملوك لمستخدم)Node.js 24.22.0عرضة للثغرة - يُقرأ الإصدار من الملف التنفيذي، لا يُشغَّل
python:3.12-slim + pip install Brotli==1.2.0 brotlicffi==1.2.0.0، بيئة venv مع Brotli 1.1.0 في /srv/app/venvBrotli، brotlicffi (أجهزة فك ترميز خاصة بهما)عرضة للثغرة (تم العثور على venv عبر عمليتها قيد التشغيل)
python:3.12-slim + PyPI الحاليBrotli 1.2.1، brotlicffi 1.2.1.0مُصلح عبر الإصدار
mcr.microsoft.com/dotnet/runtime:8.0.32 / :8.0.NET 8.0.32 / 8.0.33عرضة للثغرة / مُصلح عبر الإصدار

موقع Checkmk نفسه (2.5.0p17) لا يتضمن حزمة Brotli في Python الخاص به. لم تُشغَّل الإضافة بعد على مضيف إنتاجي خارج الحاويات - وعلى وجه الخصوص ليس مع تفعيل SELinux (عائلة RHEL)؛ إذ يعمل الوكيل عادةً هناك دون تقييد.

التثبيت

  1. نزّل ملف .mkp من إصدار (أو ابنِه بنفسك، انظر التطوير).

  2. Setup > Maintenance > Extension packages > Upload package، أو من سطر الأوامر داخل الموقع:

    mkp add broccoli2shell-<version>.mkp
    mkp enable broccoli2shell <version>
    
  3. انشر إضافة الوكيل (agent plug-in) على المضيفين الذين تريد فحصهم:

    • النسخة التجارية: Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules، قسم Agent plug-ins، القاعدة Broccoli2Shell agent plug-in. أنشئ قاعدة للمضيفين المستهدفين، ثم قم ببناء الوكلاء وتحديثهم. تعمل الإضافة دائمًا بشكل غير متزامن؛ والفاصل الزمني الافتراضي هو ساعة واحدة.
    • نسخة المجتمع / يدويًا: انظر أدناه.
  4. نفّذ اكتشاف الخدمات (service discovery) على المضيفين. يحصل كل مُفكِّك ترميز (decoder) على خدمته الخاصة، بالإضافة إلى خدمة Broccoli2Shell restart واحدة لكل مضيف.

  5. اختياري: اضبط الحالات في Setup > Services > Service monitoring rules > Broccoli2Shell (CVE-2026-111497) و Broccoli2Shell restart.

النشر اليدوي لإضافة الوكيل (نسخة المجتمع)

انسخ package/agents/plugins/broccoli2shell إلى دليل فرعي لفاصل التخزين المؤقت (cache-interval) داخل دليل إضافات الوكيل، واجعلها قابلة للتنفيذ:

install -m 755 broccoli2shell /usr/lib/check_mk_agent/plugins/3600/broccoli2shell

مجلد 3600 يجعل الوكيل يشغّله في الخلفية مرة كل ساعة ويقدّم النتيجة المخزّنة مؤقتًا في الفترة بينهما. لا تضعه مباشرةً في plugins/: فهو يقرأ ملفات ثنائية كبيرة وخريطة الذاكرة لكل عملية، وهو ما يمثّل عبئًا كبيرًا على كل استعلام للوكيل.

ما الذي يراقبه

الخدمةواحدة لكلالحالات (افتراضيًا، قابلة للتهيئة)
Broccoli2Shell <path>فاكّ ترميز، مثل Broccoli2Shell /usr/lib/x86_64-linux-gnu/libbrotlidec.so.1، Broccoli2Shell /usr/bin/node، Broccoli2Shell /usr/lib/python3/dist-packages (brotli)، Broccoli2Shell /usr/lib/dotnet (.NET 8.0)OK مُصلَح أو غير متأثر - CRIT معرّض للثغرة، محمّل بواسطة عملية قيد التشغيل - CRIT معرّض للثغرة، غير محمّل - UNKNOWN تعذّر تحديد الإصدار أو المكتبة المرتبطة
Broccoli2Shell restartمضيف لديه فاكّ ترميزOK - CRIT ما زالت العمليات تستخدم فاكّ ترميز مُستبدَلًا
تنزيل الأداة