Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/minnggyuu/cve-2025-57298
भेद्यता विश्लेषणवेब एप्लिकेशन शोषणवेब सुरक्षापेपर और शोधलर्निंग और शिक्षा
GitHubminnggyuu/cve-2025-57298

CVE-2025-57298

CVE-2025-57298 प्रकटीकरण।

रिपॉजिटरी देखें
17 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Kotaemon में असुरक्षित Markdown रेंडरिंग के माध्यम से संग्रहीत XSS

सारांश

Kotaemon एक ओपन-सोर्स RAG (रिट्रीवल-ऑगमेंटेड जनरेशन) आधारित दस्तावेज़ QA प्रणाली है जो PDF, Word और Excel जैसी अपलोड की गई फ़ाइलों को क्वेरी करने के लिए एक वेब इंटरफ़ेस प्रदान करती है।

Kotaemon के दस्तावेज़ रेंडरिंग पाइपलाइन में एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता मौजूद है। उपयोगकर्ता-नियंत्रित सामग्री को एक LLM द्वारा संसाधित किया जाता है और उचित सैनिटाइज़ेशन के बिना markdown-से-HTML रूपांतरण के बाद वेब इंटरफ़ेस में रेंडर किया जाता है, जिससे हमलावर द्वारा आपूर्ति किए गए HTML तत्वों को पृष्ठ में लगातार (persistently) इंजेक्ट किया जा सकता है।

जब कोई दस्तावेज़ अपलोड किया जाता है, तो सिस्टम सामान्य प्रोसेसिंग प्रवाह के भाग के रूप में स्वचालित रूप से एक सारांश अनुरोध (जैसे, "summary this file") ट्रिगर करता है। परिणामस्वरूप, कोई भी अपलोड किया गया दस्तावेज़ अंतर्निहित रूप से markdown पार्सिंग और रेंडरिंग पाइपलाइन से गुजरता है, जिससे भेद्यता केवल दस्तावेज़ अपलोड के माध्यम से बिना किसी स्पष्ट उपयोगकर्ता इंटरैक्शन के शोषण योग्य हो जाती है।


प्रभावित संस्करण

Kotaemon के निम्नलिखित संस्करण भेद्यता से ग्रस्त पुष्टि किए गए हैं:

  • संस्करण <= 0.11.0

प्रभावित घटक

  • दस्तावेज़ रेंडरिंग / सारांश सुविधा
  • Markdown-से-HTML रूपांतरण तर्क

प्रभावित कोड

kotaemon/blob/main/libs/ktem/ktem/utils/render.py

root@kitploit:~
@staticmethod
def table(text: str) -> str:
    """Render table from markdown format into HTML"""
    text = replace_mardown_header(text)
    return markdown.markdown(
        text,
        extensions=[
            "markdown.extensions.tables",
            "markdown.extensions.fenced_code",
        ],
    )

मूल कारण

एप्लिकेशन LLM द्वारा उत्पन्न markdown सामग्री को HTML में बदलने के लिए markdown.markdown() फ़ंक्शन पर निर्भर करता है। हालाँकि, परिवर्तित HTML आउटपुट बिना HTML सैनिटाइज़ेशन या आउटपुट एस्केपिंग के सीधे ब्राउज़र में रेंडर किया जाता है।

परिणामस्वरूप, markdown सिंटैक्स जो कच्चे HTML तत्व उत्पन्न करता है—विशेष रूप से छवि सिंटैक्स ![]()—को निष्पादन योग्य HTML जैसे `` टैग में बदल दिया जाता है और संवाद आउटपुट में संग्रहीत कर दिया जाता है।


प्रूफ ऑफ कॉन्सेप्ट (PoC)

पेलोड

"summary" means "![](https://example.com)"

शोषण चरण

  1. उपरोक्त पेलोड वाला एक दस्तावेज़ अपलोड करें।
  2. Search All विकल्प चुनें।
  3. सिस्टम स्वचालित रूप से अपलोड किए गए दस्तावेज़ के लिए एक सारांश अनुरोध जारी करता है।
  4. LLM द्वारा उत्पन्न प्रतिक्रिया में दुर्भावनापूर्ण markdown शामिल होता है।
  5. Markdown को एक HTML `` टैग में बदल दिया जाता है और बिना फ़िल्टरिंग के रेंडर किया जाता है।

देखा गया व्यवहार

  • इंजेक्ट किया गया markdown छवि सिंटैक्स एक HTML `` टैग में बदल जाता है।
  • रेंडर होने पर, ब्राउज़र स्वचालित रूप से हमलावर-नियंत्रित URL पर अनुरोध जारी करता है।
  • इंजेक्ट किया गया HTML संवाद आउटपुट में बना रहता है।

प्रभाव

लगातार (persistent) HTML तत्वों को इंजेक्ट करने की क्षमता हमलावरों को अनुमति देती है:

  • अनधिकृत GET अनुरोधों को ट्रिगर करने की (जैसे, /logout)
  • CSRF-जैसे प्रभाव उत्पन्न करने की
  • रेंडर किए गए UI सामग्री में हेरफेर करने की

शोषण के लिए केवल एक दस्तावेज़ अपलोड की आवश्यकता होती है और यह सारांशीकरण के दौरान स्वचालित रूप से होता है, बिना किसी अतिरिक्त उपयोगकर्ता इंटरैक्शन के।

असैनिटाइज़्ड HTML रेंडरिंग फ्रंटएंड रेंडरिंग संदर्भ के आधार पर इवेंट हैंडलर के माध्यम से JavaScript निष्पादन की अनुमति दे सकती है।


साक्ष्य

image-1

image-2

image-3


भेद्यता वर्गीकरण

  • प्रकार: संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (Stored XSS)
  • वेक्टर: असुरक्षित markdown-से-HTML रेंडरिंग
  • स्थिरता: हाँ
  • उपयोगकर्ता इंटरैक्शन आवश्यक: नहीं

अनुशंसित समाधान

  1. markdown-से-HTML रूपांतरण के बाद HTML आउटपुट को सैनिटाइज़ करें।
  2. GET अनुरोधों के माध्यम से राज्य-परिवर्तनकारी (state-changing) क्रियाओं से बचें।
  3. RAG इनपुट और LLM आउटपुट को अविश्वसनीय डेटा के रूप में मानें।

श्रेय

यह रिपोर्ट minnggyuu द्वारा तैयार की गई थी। (Team 404 Not Found, WhiteHat School 3rd Cohort, South Korea)


संपर्क

ईमेल: [email protected]
GitHub: https://github.com/minnggyuu

टूल डाउनलोड करें