
ثغرة RCE في Spring Framework عبر Data Binding على JDK 9+ (CVE-2022-22965 والمعروفة باسم "Spring4Shell")
ثغرة RCE في Spring Framework عبر Data Binding على JDK 9+
الهدف هو تجميع أكبر قدر ممكن من المعلومات المتاحة للعموم حول الثغرة حتى الآن، ومعرفة الإجراءات التي يجب اتخاذها في هذه الحالة.
الشروط (AND) التي يجب توفرها هي:
حتى الآن، ليس عرضةً للاستغلال (exploit). ولكن يجب ملاحظة أن هذه الثغرة ذات طابع أكثر عمومية، لذا قد توجد طرق أخرى لاستغلالها.
Spring Framework
الإصدارات الأقدم أو غير المدعومة حاليًا متأثرة أيضًا.
Spring Framework
في حال تعذر ترقيع الثغرة، نشرت Spring بعض الحلول البديلة.
أصدرت 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.
يمكن استخدام الأداة https://github.com/hillu/local-spring-vuln-scanner (مرآة) لكشف الحالات المعرضة لثغرة Spring4Shell. مثال محتمل للتنفيذ هو:
./local-spring-vuln-scanner --verbose --log </path/to/file.log> </path/to/app1> </path/to/appN>
لقد قمنا بتطوير قاعدة كشف لـ Wazuh يمكنك الحصول عليها في مجلد "detection" في هذا المستودع، وهي تعتمد على مجموعة من مؤشرات الهجوم (IOA) لاكتشاف محاولات الهجوم.
كانت هناك تكهنات حول commit بخصوص التأكيد على إهمال استخدام الطريقة SerializationUtils.deserialize(...). هذه الفئة غير معرّضة لمدخلات خارجية، وهذا الإهمال غير مرتبط بهذه الثغرة.
حدث التباس مع CVE خاص بـ Spring Cloud Function نُشر مباشرة قبل الإبلاغ عن هذه الثغرة CVE-2022-22963. كما أنه غير مرتبط.
أنشأت TryHackMe مختبرًا تفاعليًا لاستغلال Spring4Shell