
CVE-2025-57298 प्रकटीकरण।
Kotaemon एक ओपन-सोर्स RAG (रिट्रीवल-ऑगमेंटेड जनरेशन) आधारित दस्तावेज़ QA प्रणाली है जो PDF, Word और Excel जैसी अपलोड की गई फ़ाइलों को क्वेरी करने के लिए एक वेब इंटरफ़ेस प्रदान करती है।
Kotaemon के दस्तावेज़ रेंडरिंग पाइपलाइन में एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता मौजूद है। उपयोगकर्ता-नियंत्रित सामग्री को एक LLM द्वारा संसाधित किया जाता है और उचित सैनिटाइज़ेशन के बिना markdown-से-HTML रूपांतरण के बाद वेब इंटरफ़ेस में रेंडर किया जाता है, जिससे हमलावर द्वारा आपूर्ति किए गए HTML तत्वों को पृष्ठ में लगातार (persistently) इंजेक्ट किया जा सकता है।
जब कोई दस्तावेज़ अपलोड किया जाता है, तो सिस्टम सामान्य प्रोसेसिंग प्रवाह के भाग के रूप में स्वचालित रूप से एक सारांश अनुरोध (जैसे, "summary this file") ट्रिगर करता है। परिणामस्वरूप, कोई भी अपलोड किया गया दस्तावेज़ अंतर्निहित रूप से markdown पार्सिंग और रेंडरिंग पाइपलाइन से गुजरता है, जिससे भेद्यता केवल दस्तावेज़ अपलोड के माध्यम से बिना किसी स्पष्ट उपयोगकर्ता इंटरैक्शन के शोषण योग्य हो जाती है।
Kotaemon के निम्नलिखित संस्करण भेद्यता से ग्रस्त पुष्टि किए गए हैं:
kotaemon/blob/main/libs/ktem/ktem/utils/render.py
@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 जैसे `` टैग में बदल दिया जाता है और संवाद आउटपुट में संग्रहीत कर दिया जाता है।
"summary" means ""
लगातार (persistent) HTML तत्वों को इंजेक्ट करने की क्षमता हमलावरों को अनुमति देती है:
/logout)शोषण के लिए केवल एक दस्तावेज़ अपलोड की आवश्यकता होती है और यह सारांशीकरण के दौरान स्वचालित रूप से होता है, बिना किसी अतिरिक्त उपयोगकर्ता इंटरैक्शन के।
असैनिटाइज़्ड HTML रेंडरिंग फ्रंटएंड रेंडरिंग संदर्भ के आधार पर इवेंट हैंडलर के माध्यम से JavaScript निष्पादन की अनुमति दे सकती है।



यह रिपोर्ट minnggyuu द्वारा तैयार की गई थी। (Team 404 Not Found, WhiteHat School 3rd Cohort, South Korea)
ईमेल: [email protected]
GitHub: https://github.com/minnggyuu