Spring4Shell: افحص إعدادك، ثم حدّث
ثغرة Spring Framework الجديدة خطيرة لكنها أضيق من Log4Shell. إليك كيف تعرف إن كنت متأثرًا.
الأسبوع الماضي تسرّبت ثغرة تنفيذ كود عن بعد في Spring Framework (CVE-2022-22965) قبل أن يجهز إصلاحها، وسمّاها الإنترنت Spring4Shell. وبما أنها جاءت بعد Log4Shell بأربعة أشهر، أصيب الناس بالذعر. هي خطيرة، لكنها أضيق.
الهجوم المعروف يحتاج كل هذه الشروط:
- JDK 9 أو أحدث،
- Spring MVC أو Spring WebFlux،
- Apache Tomcat كحاوية servlet،
- والتطبيق معبّأ كملف WAR تقليدي.
تطبيقات Spring Boot التي تعمل كملف JAR تنفيذي غير متأثرة بالاستغلال المعروف، وإن كانت قد توجد طرق أخرى.
ماذا تفعل:
- رقِّ إلى Spring Framework 5.3.18 أو 5.2.20، أو Spring Boot 2.6.6 / 2.5.12 التي تتضمن الإصلاح.
- إن لم تستطع بعد، فترقية Tomcat إلى إصداراته المُصلحة تمنع الهجوم المعروف أيضًا.
- لا تخلط بينها وبين ثغرة منفصلة في Spring Cloud Function صدرت الأسبوع نفسه. حدّثها أيضًا إن كنت تستخدمها.
بعد Log4Shell، عرفت فرق كثيرة أين تعيش تطبيقات Java لديها. وإن لم تكن منهم، فهذا أسبوع البدء بتلك القائمة.