Apache Tomcat में भेद्यता जो आपको JSP कोड को प्रतिस्थापित करने और वेब एप्लिकेशन फ़ाइलें प्राप्त करने की अनुमति देती है

चीनी कंपनी चैटिन टेक के शोधकर्ताओं ने खोज की है भेद्यता (CVE-2020-1938में) अपाचे बिलाव, जावा सर्वलेट, जावासर्वर पेज, जावा एक्सप्रेशन लैंग्वेज और जावा वेबसॉकेट प्रौद्योगिकियों का एक खुला कार्यान्वयन। भेद्यता को कोड नाम घोस्टकैट और एक गंभीर गंभीरता स्तर (9.8 सीवीएसएस) सौंपा गया है। समस्या, डिफ़ॉल्ट कॉन्फ़िगरेशन में, नेटवर्क पोर्ट 8009 पर एक अनुरोध भेजकर, वेब एप्लिकेशन निर्देशिका से किसी भी फाइल की सामग्री को पढ़ने की अनुमति देती है, जिसमें सेटिंग्स और एप्लिकेशन स्रोत कोड वाली फाइलें भी शामिल हैं।

भेद्यता अन्य फ़ाइलों को एप्लिकेशन कोड में आयात करना भी संभव बनाती है, जो सर्वर पर कोड निष्पादन की अनुमति देती है यदि एप्लिकेशन फ़ाइलों को सर्वर पर अपलोड करने की अनुमति देता है (उदाहरण के लिए, एक हमलावर एक छवि के रूप में छिपी हुई JSP स्क्रिप्ट अपलोड कर सकता है) छवि अपलोड प्रपत्र). हमला तब किया जा सकता है जब AJP हैंडलर के साथ नेटवर्क पोर्ट पर अनुरोध भेजना संभव हो। प्रारंभिक आंकड़ों के अनुसार, ऑनलाइन मिला 1.2 मिलियन से अधिक होस्ट AJP प्रोटोकॉल के माध्यम से अनुरोध स्वीकार कर रहे हैं।

एजेपी प्रोटोकॉल में भेद्यता मौजूद है, और नहीं बुलाया गया कार्यान्वयन में त्रुटि. HTTP (पोर्ट 8080) के माध्यम से कनेक्शन स्वीकार करने के अलावा, Apache Tomcat डिफ़ॉल्ट रूप से AJP प्रोटोकॉल के माध्यम से एक वेब एप्लिकेशन तक पहुंच की अनुमति देता है (अपाचे जेसर्व प्रोटोकॉल, पोर्ट 8009), जो उच्च प्रदर्शन के लिए अनुकूलित HTTP का एक बाइनरी एनालॉग है, आमतौर पर टॉमकैट सर्वर का क्लस्टर बनाते समय या रिवर्स प्रॉक्सी या लोड बैलेंसर पर टॉमकैट के साथ इंटरैक्शन को तेज करने के लिए उपयोग किया जाता है।

AJP सर्वर पर फ़ाइलों तक पहुँचने के लिए एक मानक फ़ंक्शन प्रदान करता है, जिसका उपयोग उन फ़ाइलों को प्राप्त करने सहित किया जा सकता है जो प्रकटीकरण के अधीन नहीं हैं। माना जाता है कि एजेपी केवल विश्वसनीय सर्वरों के लिए ही पहुंच योग्य है, लेकिन वास्तव में टॉमकैट का डिफ़ॉल्ट कॉन्फ़िगरेशन सभी नेटवर्क इंटरफेस पर हैंडलर चलाता है और प्रमाणीकरण के बिना अनुरोध स्वीकार करता है। किसी भी वेब एप्लिकेशन फ़ाइल तक पहुंच संभव है, जिसमें WEB-INF, META-INF और ServletContext.getResourceAsStream() पर कॉल के माध्यम से प्रदान की गई किसी भी अन्य निर्देशिका की सामग्री शामिल है। AJP आपको वेब एप्लिकेशन के लिए पहुंच योग्य निर्देशिकाओं में किसी भी फ़ाइल को JSP स्क्रिप्ट के रूप में उपयोग करने की अनुमति भी देता है।

यह समस्या 13 साल पहले जारी टॉमकैट 6.x शाखा के बाद से दिखाई दे रही है। टॉमकैट समस्या के अलावा को प्रभावित करता है और उत्पाद जो इसका उपयोग करते हैं, जैसे कि Red Hat JBoss वेब सर्वर (JWS), JBoss एंटरप्राइज एप्लिकेशन प्लेटफ़ॉर्म (EAP), साथ ही स्व-निहित वेब एप्लिकेशन जो इसका उपयोग करते हैं वसंत का बूट. समान भेद्यता (CVE-2020-1745) वर्तमान वेब सर्वर में निचली, वाइल्डफ्लाई एप्लिकेशन सर्वर में उपयोग किया जाता है। JBoss और Wildfly में, AJP केवल स्टैंडअलोन-फुल-हा.xml, स्टैंडअलोन-ha.xml और डोमेन.xml में ha/full-ha प्रोफाइल में डिफ़ॉल्ट रूप से सक्षम है। स्प्रिंग बूट में, AJP समर्थन डिफ़ॉल्ट रूप से अक्षम है। वर्तमान में, विभिन्न समूहों ने कारनामों के एक दर्जन से अधिक कार्यशील उदाहरण तैयार किए हैं (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

टॉमकैट रिलीज़ में भेद्यता को ठीक किया गया 9.0.31, 8.5.51 и 7.0.100 (6.x शाखा का रखरखाव बंद). आप इन पृष्ठों पर वितरण किटों में अपडेट की उपलब्धता को ट्रैक कर सकते हैं: डेबियन, Ubuntu, RHEL, फेडोरा, SUSE, FreeBSD. वर्कअराउंड के रूप में, आप टॉमकैट एजेपी कनेक्टर सेवा को अक्षम कर सकते हैं (सुनने वाले सॉकेट को लोकलहोस्ट से बांधें या कनेक्टर पोर्ट = "8009" के साथ लाइन पर टिप्पणी करें) यदि इसकी आवश्यकता नहीं है, या तराना यदि सेवा का उपयोग mod_jk और mod_proxy_ajp (mod_cluster प्रमाणीकरण का समर्थन नहीं करता है) के आधार पर अन्य सर्वर और प्रॉक्सी के साथ इंटरैक्ट करने के लिए किया जाता है, तो "गुप्त" और "पता" विशेषताओं का उपयोग करके प्रमाणित पहुंच।

स्रोत: opennet.ru

एक टिप्पणी जोड़ें