الفئة
ذكاء نقاط الضعففئة نقاط الضعف
تضمين ملف محلي (غير مصدق)غطاء الكهف
CVE-2021-43798السيرة الذاتية: 3.0 درجة
7.5مرجع TLP الأخضر
* https://en.wikipedia.org/wiki/Intelligence_source_and_information_reliability# https://en.wikipedia.org/wiki/Traffic_Light_Protocolملخص تنفيذي
- أصدرت Grafana مؤخرًا استشاريًا وتصحيحًا لثغرة أمنية خطيرة في اجتياز المسار تؤدي إلى تضمين ملف محلي غير مصدق.
- Grafana عبارة عن تحليلات مفتوحة المصدر متعددة المنصات وتطبيق ويب للتصور التفاعلي.
- تؤثر هذه الثغرة الأمنية على إصدارات Grafana من v8.0.0-beta1 إلى v8.3.0، ومع ذلك، تظل سحابة Grafana غير متأثرة.
- يمكن للجهات الفاعلة في مجال التهديد الاستفادة من هذا الخلل من خلال صياغة طلب HTTP لقراءة الملفات الحساسة من الخوادم، مما يؤدي إلى الكشف عن المعلومات الحساسة.
[معرف التسمية التوضيحية = «المرفق _18519" aligncenter «العرض ="1074"]

ممثل التهديد يناقش CVE-2021-43798 في منتدى الجرائم الإلكترونية [/caption]
التحليل
- Grafana هو حل مفتوح المصدر لإنشاء مقاييس وبيانات حول التطبيقات ثم إنشاء لوحات معلومات توفر نظرة ثاقبة لسلوك المستخدم وسلوك التطبيق وتكرار الأخطاء التي تحدث في الإنتاج أو بيئة ما قبل الإنتاج ونوع الأخطاء التي تحدث والسيناريوهات السياقية من خلال توفير البيانات النسبية، من بين أمور أخرى.
- أصبح Grafana حلاً شائعًا لتحليل البيانات وتوليدها. وفقًا لـ Censys، تعمل جرافانا حاليًا على 114,575 مثيلات.
[معرف التسمية التوضيحية = «المرفق _18520" aligncenter» العرض = «1365"]
نتائج البحث من Censys [/caption]
- لاستغلال هذه الثغرة الأمنية، يحتاج المهاجم ببساطة إلى إرسال طلب GET إلى المثيل المستهدف. على سبيل المثال:
POC - {host} /public/plugins/ {PluginID}/../../../../../../.. /وما إلى ذلك/تم تمريره
في المثال أعلاه، «معرف البرنامج المساعد»
يمكن أن يكون مكونًا إضافيًا افتراضيًا يأتي مثبتًا مسبقًا مع Grafana، مثل:
- قائمة التنبيه
- إبطالي
- مخطط شريطي
- مقياس
- شمعدان
- ساعة سحابية
- قائمة البيانات
- البحث المرن
[معرف التسمية التوضيحية = «المرفق _18521" aligncenter «العرض ="910"]

لقطة شاشة للمعلومات المستخرجة باستخدام طلب GET [/caption]
معلومات من OSINT
منذ أن تم الإعلان عن هذه الثغرة الأمنية، كان هناك مسح مستمر للأهداف المعرضة للخطر. بسبب سهولة الاستغلال، بدأت الجهات الفاعلة في التهديد في استغلال هذه الثغرة الأمنية على نطاق واسع، في البرية. تتوفر أيضًا نصوص POC متعددة لهذه الثغرة الأمنية، على العديد من المنصات مفتوحة المصدر مثل GitHub.
[معرف التسمية التوضيحية = «المرفق _18522" aligncenter «العرض ="573"]

البرنامج النصي POC متاح مجانًا على Github [/caption]
تحليل نقاط الضعف
تنشأ الثغرة الأمنية نتيجة لسيناريو مثير للاهتمام حيث أساء المطور فهم أو لم يقرأ بدقة وثائق الوظائف المستخدمة، والتي تتوفر على: pkg/api/plugins.go
[معرف التسمية التوضيحية = «المرفق _18523" aligncenter» العرض = «1257"]

الوظائف التي يستخدمها المطور [/caption]
في هذا السيناريو، ارتكب المطور هذا الخطأ عن طريق إساءة تفسير وظيفة Golang المضمنة المسماة نظيف.
[معرف التسمية التوضيحية = «المرفق _18524" aligncenter «العرض ="1169"]

لقطة شاشة لوثائق وظيفة Golang Clean [/caption]
كما تشير الوثائق، فإنها لا تجرد عناصر «..» في بداية المسار غير المتجذر؛ على سبيل المثال، إذا لم يبدأ المسار بـ «/»، فلن تتم إزالة أي تسلسلات «../» رائدة. كما هو موضح في لقطات الشاشة أعلاه، يذكر المطور في التعليق تجاهل التنبيه الذي تم وضع علامة عليه بواسطة أداة Gosec وهو مدقق أمان غولانج. أدى هذا الخطأ إلى ثغرة أمنية في اجتياز المسار.التأثير والتخفيف
تخفيف التأثير
- يمكن أن تؤدي ثغرة LFI (تضمين الملفات المحلية) إلى الكشف عن معلومات حساسة.
- يمكن لممثل التهديد قراءة مفاتيح SSH من المستخدمين والحصول على غلاف آمن على الخادم، مما قد يؤدي إلى الاستيلاء الكامل على الخادم وهجمات برامج الفدية.
- نظرًا لأنها ثغرة أمنية غير مصدق عليها، مع وجود الكثير من نصوص الاستغلال المتاحة للجمهور، يمكن استغلالها بسهولة حتى من قبل الجهات الفاعلة ذات المعرفة والموارد المحدودة.
- قم بتحديث برنامج Grafana الخاص بك إلى أحدث الإصدارات المصححة:
المراجع
- TomNomNom: التحليل الفني للثغرة الأمنية
- شركة جرافانا للاستشارات الأمنية