الثغرة الخطيرة جدا
يمكن استغلال هذه الثغرة من أجل تنفيذ أوامر على نظام معين عن بعد (unauthenticated remote code execution "RCE") تمكّن من السيطرة الكاملة على النظام المخترَق.
يتم استغلال خاصية (Java Naming and Directory Interface) أو JNDI لتحميل ملف يحتوي على برمجية تسبب السيطرة على النظام وتنفيذ أوامر بصلاحيات عالية عن طريق تحويل ملف لتكوين object باستخدام خاصية Java deserialization .يُستغل هذا الـ object لتكوين malicious code على الجهاز المخترق.
الـ JNDI عبارة عن Java API يتيح الربط مع خدمات الاسماء والأدلة naming and directory services للاستعلام عن المعلومات data والمصادر resources عبر عدة وسائل منها بروتوكول LDAP وبروتوكول DNS كما في الشكل بالأسفل. من الأشياء التي يمكن الاستعلام عنها هو URI يؤشر على Java class يحتوي على خورازميات تنفيذية.
يتيح JNDI شمول متغيرات variables ضمن نص الرسالة للحدث بحيث يقوم بالاستعلام
عن قيمة المتغير (مثلا اسم المستخدم أو اسم الجهاز) عبر أحدى الوسائل المتوفرة
لديه. يعمل على النظام المصاب بهذه الثغرة خدمة او مجموعة من الخدمات (مثلا web
server firewall، وغيرهما)، الخدمة العاملة تقوم بتسجيل
الاحداث من خلال النظام LOG4J
الذي يعمل من خلال JNDI.
سيقوم الـ JNDI بارسال طلب لخادم الـ LDAP لاستعلام عن المصدر المطلوب والذي بدوره
سيجيب الطلب بارسال الملف الذي يحتوي على الاوامر التنفيذية بعد تحويل محتوي الملف
ل object.