CVE-2023-38490
XML डेटा हैंडलर में Kirby XML External Entity (XXE) भेद्यता
- प्रकाशित
- 27 जुल॰ 2023
- अद्यतन
- 16 अक्टू॰ 2024
- सीएनए असाइन करना
- GitHub_M
- साक्ष्य देखे गए
- 7 अग॰ 2026
प्राथमिक सीवीएसएस
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:Nकम · अगले 30 दिन
- प्रतिशत
- 75.8%
- मॉडल दिनांक
- 21 सित॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
Kirby एक कंटेंट मैनेजमेंट सिस्टम है। 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1, और 3.9.6 से पहले के संस्करणों में एक कमज़ोरी केवल उन Kirby साइटों को प्रभावित करती है जो `Xml` डेटा हैंडलर (जैसे `Data::decode($string, 'xml')`) या साइट या प्लगइन कोड में `Xml::parse()` विधि का उपयोग करती हैं। Kirby कोर प्रभावित विधियों में से किसी का उपयोग नहीं करता है। XML एक्सटर्नल एंटिटीज़ (XXE) XML मार्कअप भाषा में एक कम उपयोग होने वाली सुविधा है, जो XML संरचना में बाहरी फ़ाइलों से डेटा शामिल करने की अनुमति देती है। यदि बाहरी फ़ाइल का नाम किसी हमलावर द्वारा नियंत्रित किया जा सकता है, तो यह एक कमज़ोरी बन जाती है, जिसका दुरुपयोग विभिन्न सिस्टम प्रभावों के लिए किया जा सकता है, जैसे सर्वर पर संग्रहीत आंतरिक या गोपनीय डेटा का खुलासा (मनमानी फ़ाइल खुलासा) या सर्वर की ओर से नेटवर्क अनुरोध करना (सर्वर-साइड रिक्वेस्ट फोर्जरी, SSRF)। Kirby की `Xml::parse()` विधि ने PHP के `LIBXML_NOENT` कॉन्स्टेंट का उपयोग किया, जिसने पार्सिंग ऑपरेशन के दौरान XML एक्सटर्नल एंटिटीज़ के प्रोसेसिंग को सक्षम किया। `Xml::parse()` विधि का उपयोग `Xml` डेटा हैंडलर (जैसे `Data::decode($string, 'xml')`) में किया जाता है। कमज़ोर विधि और डेटा हैंडलर दोनों Kirby कोर में उपयोग नहीं किए जाते हैं। हालाँकि, इनका उपयोग साइट या प्लगइन कोड में किया जा सकता है, जैसे RSS फ़ीड या अन्य XML फ़ाइलों को पार्स करने के लिए। यदि वे फ़ाइलें बाहरी मूल की हैं (जैसे उपयोगकर्ता द्वारा अपलोड की गईं या किसी बाहरी URL से प्राप्त की गईं), तो हमलावर XML फ़ाइल में एक बाहरी एंटिटी शामिल करने में सक्षम हो सकते हैं, जिसे फिर पार्सिंग प्रक्रिया में संसाधित किया जाएगा। जो Kirby साइटें साइट या प्लगइन कोड में XML पार्सिंग का उपयोग नहीं करती हैं, वे प्रभावित *नहीं* होती हैं। समस्या को Kirby 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1, और 3.9.6 में ठीक कर दिया गया है। उल्लिखित सभी रिलीज़ों में, अनुरक्षकों ने `LIBXML_NOENT` कॉन्स्टेंट को हटा दिया है, क्योंकि बाहरी एंटिटीज़ का प्रोसेसिंग पार्सिंग लॉजिक के दायरे से बाहर है। यह विधि के सभी उपयोगों को वर्णित कमज़ोरी से सुरक्षित करता है।
स्रोत
1- exploit-CVE-2023-38490एक्सप्लॉइट
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।