
إثبات المفهوم لـ XSS المخزنة في منصة ThingsBoard IoT مما يتيح تصعيد الامتيازات عبر سرقة رمز المصادقة. يتضمن تفاصيل CVE-2024-55466، وCVSS 8.8، وإعادة الإنتاج خطوة بخطوة.
أثناء التجربة بتقنية إنترنت الأشياء، اكتشفت ثغرة في تطبيق Thingsboard تتيح طرقًا لتصعيد الصلاحيات.
Thingsboard هو تطبيق مفتوح المصدر يتيح إدارة الأجهزة، جمع البيانات، معالجتها وتصورها لخدمات ونشرات إنترنت الأشياء. علاوة على ذلك، يمكن لنسخة واحدة من Thingsboard (يديرها مسؤول المستأجر) استضافة خدمات لعدة مؤسسات مع مدراء شركات منفصلين لكل منها.
أثناء استكشاف ميزاته، لاحظت وجود وظيفة رفع ملفات في عرض "معرض الصور". للأسف، كانت الميزة عرضة لـ XSS المخزن الذي يسمح للخصم بتصعيد الصلاحيات عبر سرقة رمز المصادقة.
تؤثر هذه الثغرة على جميع إصدارات Thingsboard، بما في ذلك الإصدارات المجتمعية والسحابية والمهنية. أبلغت فريق أمان Thingsboard بالمسألة بمسؤولية، وقد اعترفوا بها والتزموا بمعالجتها في إصدار مستقبلي. لاحقًا، أبلغت MITRE بالثغرة، مما أدى إلى تعيين CVE لها.
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:Hلإظهار الثغرة، يلزم وجود تثبيت لـ ThingsBoard (مستودع Github) مع مستخدم واحد على الأقل ذي صلاحيات منخفضة.
الخطوة 1: تسجيل الدخول إلى حساب عميل ذي صلاحيات منخفضة.

الخطوة 2: انتقل إلى الموارد > معرض الصور

الخطوة 3: قم بإنشاء ملف صورة خبيث (هنا، يتم استخدام ملف SVG مع حمولة JavaScript) لاستغلال ثغرة XSS.

الخطوة 4: قم برفع الملف وافحص الاستجابة لتحديد مسار الملف الوجهة حيث تم رفع الحمولة.

الخطوة 5: قم بزيارة مسار الملف publicLink لتشغيل الحمولة.

نظرًا لأن الحمولة مخزنة على نسخة Thingsboard الشرعية، يمكن للخصم بسهولة خداع الأهداف عالية القيمة (مثل: مسؤول المستأجر، مسؤول الشركة، إلخ) لسرقة رموز المصادقة.
عرض توضيحي للتأثير المذكور أعلاه:
الخطوة 1: تسجيل الدخول إلى حساب عالي القيمة (هنا يتم استخدام حساب مسؤول المستأجر في متصفح Chrome، لإظهار بيئة منفصلة عن متصفح Firefox المستخدم أعلاه).

الخطوة 2: قم بزيارة مسار الملف publicLink الذي تم استرجاعه سابقًا.
