CVE-2024-52046
Apache MINA: अनबाउंडेड डिसीरियलाइज़ेशन का उपयोग करने वाले MINA अनुप्रयोग RCE की अनुमति दे सकते हैं
- प्रकाशित
- 25 दिस॰ 2024
- अद्यतन
- 2 अग॰ 2025
- सीएनए असाइन करना
- apache
- साक्ष्य देखे गए
- 28 अग॰ 2026
प्राथमिक सीवीएसएस
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:Xमध्यम · अगले 30 दिन
- प्रतिशत
- 97.8%
- मॉडल दिनांक
- 17 अक्टू॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
Apache MINA में ObjectSerializationDecoder, आने वाले सीरियलाइज़्ड डेटा को प्रोसेस करने के लिए Java के नेटिव डीसीरियलाइज़ेशन प्रोटोकॉल का उपयोग करता है, लेकिन इसमें आवश्यक सुरक्षा जाँच और सुरक्षा उपायों का अभाव है। यह भेद्यता हमलावरों को विशेष रूप से तैयार किए गए दुर्भावनापूर्ण सीरियलाइज़्ड डेटा भेजकर डीसीरियलाइज़ेशन प्रक्रिया का फायदा उठाने की अनुमति देती है, जिससे संभावित रूप से रिमोट कोड एक्ज़ीक्यूशन (RCE) हमले हो सकते हैं। यह समस्या MINA core संस्करण 2.0.X, 2.1.X और 2.2.X को प्रभावित करती है, और इसे रिलीज़ 2.0.27, 2.1.10 और 2.2.4 द्वारा ठीक किया जाएगा। यह ध्यान रखना भी महत्वपूर्ण है कि MINA core लाइब्रेरी का उपयोग करने वाला एप्लिकेशन केवल तभी प्रभावित होगा जब IoBuffer#getObject() विधि को कॉल किया जाता है, और यह विशिष्ट विधि संभावित रूप से तब कॉल की जाती है जब फ़िल्टर चेन में ObjectSerializationCodecFactory क्लास का उपयोग करके ProtocolCodecFilter इंस्टेंस जोड़ा जाता है। यदि आपका एप्लिकेशन विशेष रूप से उन क्लासों का उपयोग कर रहा है, तो आपको MINA core लाइब्रेरी के नवीनतम संस्करण में अपग्रेड करना होगा। केवल अपग्रेड करना पर्याप्त नहीं होगा: आपको ObjectSerializationDecoder इंस्टेंस में डिकोडर द्वारा स्वीकार की जाने वाली क्लासों को स्पष्ट रूप से अनुमति देने की भी आवश्यकता होगी, निम्नलिखित तीन नई विधियों में से एक का उपयोग करके: /** * उन क्लास नामों को स्वीकार करें जहाँ आपूर्ति किया गया ClassNameMatcher * डीसीरियलाइज़ेशन के लिए मेल खाता है, जब तक कि उन्हें अन्यथा अस्वीकार न किया जाए। * * @param classNameMatcher उपयोग करने के लिए मैचर */ public void accept(ClassNameMatcher classNameMatcher) /** * उन क्लास नामों को स्वीकार करें जो आपूर्ति किए गए पैटर्न से मेल खाते हैं * डीसीरियलाइज़ेशन के लिए, जब तक कि उन्हें अन्यथा अस्वीकार न किया जाए। * * @param pattern मानक Java regexp */ public void accept(Pattern pattern) /** * डीसीरियलाइज़ेशन के लिए निर्दिष्ट वाइल्डकार्ड क्लासों को स्वीकार करें, * जब तक कि उन्हें अन्यथा अस्वीकार न किया जाए। * * @param patterns वाइल्डकार्ड फ़ाइल नाम पैटर्न जैसा कि * {@link org.apache.commons.io.FilenameUtils#wildcardMatch(String, String) FilenameUtils.wildcardMatch} द्वारा परिभाषित किया गया है */ public void accept(String... patterns) डिफ़ॉल्ट रूप से, डिकोडर आने वाले डेटा में मौजूद *सभी* क्लासों को अस्वीकार कर देगा। नोट: FtpServer, SSHd और Vysper उप-प्रोजेक्ट इस समस्या से प्रभावित नहीं हैं।
स्रोत
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।