
IoT तकनीक के साथ छेड़छाड़ करते समय, मुझे Thingsboard एप्लिकेशन में एक ऐसी भेद्यता मिली जिसने विशेषाधिकार वृद्धि के रास्ते खोल दिए।
Thingsboard एक ओपन-सोर्स एप्लिकेशन है जो IoT सेवाओं और परिनियोजनों के लिए डिवाइस प्रबंधन, डेटा संग्रह, प्रसंस्करण और विज़ुअलाइज़ेशन की अनुमति देता है। इसके अलावा, एक एकल Thingsboard इंस्टेंस (जिसे टेनेंट एडमिनिस्ट्रेटर द्वारा प्रबंधित किया जाता है) कई संगठनों के लिए सेवाएँ होस्ट कर सकता है, जिनमें से प्रत्येक के लिए अलग-अलग कंपनी एडमिनिस्ट्रेटर होते हैं।
इसकी सुविधाओं का पता लगाते समय, मैंने "Image Gallery" दृश्य में एक फ़ाइल अपलोड कार्यक्षमता देखी। दुर्भाग्य से, यह सुविधा संग्रहीत क्रॉस-साइट स्क्रिप्टिंग के लिए संवेदनशील थी, जिसने एक हमलावर को प्रमाणीकरण टोकन की चोरी का लाभ उठाकर विशेषाधिकार बढ़ाने की अनुमति दी।
यह भेद्यता 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 की एक स्थापना की आवश्यकता होगी (गिटहब रिपॉजिटरी) जिसमें कम से कम एक निम्न-विशेषाधिकार वाला उपयोगकर्ता हो।
चरण 1: निम्न-विशेषाधिकार वाले ग्राहक खाते में लॉग इन करें।

चरण 2: Resources > Image Gallery पर जाएँ।

चरण 3: क्रॉस-साइट स्क्रिप्टिंग भेद्यता का शोषण करने के लिए एक दुर्भावनापूर्ण इमेज फ़ाइल तैयार करें (यहाँ, JavaScript पेलोड के साथ एक SVG फ़ाइल का उपयोग किया गया है)।

चरण 4: फ़ाइल अपलोड करें और प्रतिक्रिया का निरीक्षण करें ताकि उस गंतव्य फ़ाइल पथ की पहचान की जा सके जहाँ पेलोड अपलोड किया गया था।

चरण 5: पेलोड को ट्रिगर करने के लिए publicLink फ़ाइल पथ पर जाएँ।

चूँकि पेलोड वैध Thingsboard इंस्टेंस पर संग्रहीत है, एक हमलावर आसानी से उच्च-मूल्य वाले लक्ष्यों (जैसे: टेनेंट एडमिनिस्ट्रेटर, कंपनी एडमिनिस्ट्रेटर आदि) को धोखा देकर प्रमाणीकरण टोकन चुरा सकता है।
उपर्युक्त प्रभाव का एक प्रदर्शन:
चरण 1: उच्च-मूल्य वाले खाते में लॉग इन करें (यहाँ टेनेंट एडमिनिस्ट्रेटर खाते का उपयोग Chrome ब्राउज़र में किया गया है, ताकि ऊपर उपयोग किए गए Firefox ब्राउज़र से पृथक वातावरण प्रदर्शित किया जा सके)।

चरण 2: पहले प्राप्त किए गए publicLink फ़ाइल पथ पर जाएँ।
