
Buildpack يقدم حلًا بديلًا لـ CVE-2021-44228 (Log4j RCE exploit)
يوضح هذا المشروع كيفية إنشاء حزمة بناء CNCF كحل بديل لـ CVE-2021-44228، وهو استغلال في Log4j يؤدي إلى تنفيذ تعليمات برمجية عن بُعد.
باستخدام حزمة البناء هذه، يمكنك تطبيق حل بديل لهذا الاستغلال لجميع تطبيقات Java. الحل البديل يقوم ببساطة بتعطيل تنسيق السجلات من خلال خاصية نظام JVM log4j2.formatMsgNoLookups مع تعيين القيمة إلى true.
كإصلاح طويل الأجل، يجب عليك تحديث تطبيقاتك باستخدام Log4j 2.15.0+.
يرجى عدم استخدام هذا المشروع لأحمال العمل الإنتاجية: هذا لأغراض تعليمية فقط!
قم بتضمين حزمة البناء هذه عند بناء تطبيق Java الخاص بك:
pack build myrepo/myapp -b ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack -b paketo-buildpacks/java
يحتوي هذا المستودع على تطبيق Java بسيط يستخدم Log4j (بما في ذلك استغلال RCE). قم ببناء هذا التطبيق باستخدام حزمة البناء:
pack build myrepo/myapp -p app -b ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack -b paketo-buildpacks/java
يمكنك الآن تشغيل هذا التطبيق:
docker run --rm -p 8080:8080 myrepo/myapp
...
2021-12-10 18:58:03.234 INFO 77965 --- [ main] f.a.c.Application : Is Log4j2 workaround for CVE-2021-44228 enabled? true
عند استخدام kpack لبناء صور الحاويات داخل مجموعة Kubernetes الخاصة بك، تحتاج إلى تطبيق الخطوات التالية:
ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack إلى ClusterStore الخاص بكClusterBuilder أو Builder الخاص بكعند استخدام VMware Tanzu Build Service، يمكنك استخدام هذه الأوامر لإضافة حزمة البناء إلى ClusterStore الخاص بك:
kp clusterstore add default -b ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack
ثم أضف حزمة البناء إلى المنشئ الخاص بك باستخدام Tanzu Build Service:
kp clusterbuilder patch mybuilder -b tanzu-buildpacks/java -b alexandreroman/cve-2021-44228-workaround-buildpack
جميع صور الحاويات التي تشير إلى المنشئ الخاص بك سيتم إعادة بنائها، بما في ذلك الحل البديل لاستغلال Log4j RCE.
استمتع!
المساهمات مرحب بها دائمًا!
لا تتردد في فتح مشكلات وإرسال طلبات السحب.
حقوق النشر © 2021 VMware, Inc. أو الشركات التابعة لها.
هذا المشروع مرخص بموجب رخصة Apache Software الإصدار 2.0.