
Apache Struts 2 هو إطار عمل ويب مفتوح المصدر لتطوير تطبيقات الويب الخاصة بـ Java EE، وهو الجيل الثاني من إطار عمل Struts، صدر لأول مرة في 10 أكتوبر 2006. صُمم إطار عمل Struts بطريقة تساعد على إنشاء تطبيقات ويب تستخدم بنية MVC.
Apache Struts هو إطار عمل واسع الاستخدام؛ ففي عام 2017 استخدمت أكثر من 65 بالمائة من شركات Fortune 100 إطار عمل Apache Struts.
نُشرت هذه الثغرة لأول مرة بواسطة NVD بتاريخ 03/10/2017، وقد حصلت على أعلى مستوى من درجة الأساس وهي 10، وهو مستوى حرج (Critical). العامل الرئيسي الذي أدى إلى حصولها على أعلى درجة خطورة هو إمكانية استغلال التطبيقات عبر الشبكة بأقل قدر من التعقيد وبأثر كبير على النزاهة والتوافر.
مكّنت الثغرة المهاجم من تنفيذ أكواد عن بُعد (RCE) على التطبيق عبر إدخال تعبيرات Object Graph Navigation Library (OGNL) في رؤوس HTTP.
الإصدارات المتأثرة من الإطار هي Apache Struts 2 الإصدار 2.3.x قبل 2.3.32 و2.5.x قبل 2.5.10.1.
.png)
الكود القابل للاستغلال موجود في Jakarta Multipart Parser، ولتنفيذ الاستغلال استخدم المهاجم الثغرة في دالة LocalizedTextUtil.findText التي فسّرت الرسالة المُدخلة داخل ${…} على أنها تعبير من تعبيرات Object Graph Navigation Library (OGNL). يمكن للمهاجم بعد ذلك استخدام تعبيرات OGNL هذه التي تنفّذ أوامر النظام وتكشف محتويات الملفات الحساسة مثل /etc/password و/etc/shadow، مما يمنح المهاجم سيطرة كاملة. وقد أتاح التطبيق أيضًا إخراج نواتج الأوامر التي ينفذها المهاجم، مما سهّل ذلك على المهاجم.
الصورة التالية تُظهر طلب HTTP مع تعبير OGNL الذي سمح للمهاجمين بالاستغلال.

في مارس 2017، عندما تم اكتشاف الثغرة CVE-2017-5638 لأول مرة في إطار عمل Apache Struts، أصدرت مؤسسة Apache تصحيحًا للثغرة، لكن Equifax لم يطبّق التصحيح على النظام المتأثر لأن عمليات الفحص التي أجريت للعثور على النظام المتأثر لم تنجح.
من مايو حتى يوليو 2017، تمكن المهاجمون من الوصول إلى قواعد بيانات متعددة لشركة Equifax، مما كشف معلومات الملايين من الأشخاص. أثر الهجوم على 143 مليون شخص وكشف أيضًا معلومات بطاقات الائتمان لأكثر من 200,000 شخص.
تمكن المهاجمون من مواصلة الهجمات دون أن يتم اكتشافهم لمدة 76 يومًا.
أنفقت الشركة 1.4 مليار دولار لترقية أمنها بعد الاختراق الهائل للبيانات.
التحديثات المتكررة
تحديث جميع المكونات بما في ذلك الإطار المستخدم في التطبيق
اختبار الاختراق بشكل متكرر
برامج المكافآت لاكتشاف الثغرات