
# Spring Framework में RCE भेद्यता JDK 9+ पर Data Binding के माध्यम से (CVE-2022-22965 उर्फ "Spring4Shell")
JDK 9+ पर डेटा बाइंडिंग के माध्यम से Spring Framework में RCE भेद्यता
उद्देश्य भेद्यता के बारे में अब तक सार्वजनिक ज्ञान की अधिकतम जानकारी को केंद्रीकृत करना है और ऐसे मामले में क्या कार्रवाई करनी है, यह जानना है।
जिन शर्तों (AND) को पूरा करना होगा वे हैं:
आज तक, यह शोषण के लिए असुरक्षित नहीं है। लेकिन ध्यान रखें कि यह भेद्यता अधिक सामान्य प्रकृति की है, इसलिए इसका शोषण करने के अन्य तरीके मौजूद हो सकते हैं।
Spring Framework
पिछले या असमर्थित संस्करण भी प्रभावित हैं।
Spring Framework
यदि भेद्यता को पैच करना संभव नहीं है, तो Spring ने कुछ workarounds प्रकाशित किए हैं।
Apache Tomcat ने 3 नए संस्करण जारी किए हैं जो उचित सुरक्षा प्रदान करते हैं: 10.0.20, 9.0.62 और 8.5.78, और इन्हें Spring Framework के अपडेट के अतिरिक्त सुरक्षा परत के रूप में मानने का सुझाव दिया जाता है।
Spring Boot 2.6.6 और 2.5.12 के संस्करण जारी किए गए, जो Spring Framework 5.3.18 पर निर्भर हैं।
Spring4Shell के लिए असुरक्षित इंस्टेंस का पता लगाने के लिए टूल https://github.com/hillu/local-spring-vuln-scanner (mirror) का उपयोग किया जा सकता है। निष्पादन का एक संभावित उदाहरण है:
./local-spring-vuln-scanner --verbose --log </path/to/file.log> </path/to/app1> </path/to/appN>
हमने Wazuh के लिए एक डिटेक्शन रूल विकसित किया है, जिसे आप इस रिपॉजिटरी के "detection" निर्देशिका में प्राप्त कर सकते हैं, जो हमले के संकेतकों (IOA) की एक श्रृंखला के आधार पर हमले के प्रयासों का पता लगाने में सक्षम है।
SerializationUtils.deserialize(...) विधि के उपयोग को हतोत्साहित करने के लिए प्रतिबद्धता के संबंध में एक commit के बारे में अटकलें लगाई गई थीं। यह क्लास बाहरी इनपुट के संपर्क में नहीं है और यह हतोत्साहन इस भेद्यता से संबंधित नहीं है।
Spring Cloud Function के लिए एक CVE के साथ भ्रम था जो इस भेद्यता की रिपोर्ट से ठीक पहले प्रकाशित हुआ था CVE-2022-22963। यह भी संबंधित नहीं है।
TryHackMe ने Spring4Shell के शोषण के लिए एक इंटरैक्टिव प्रयोगशाला बनाई है