大家都知道,Log4j2是一款非常优秀和应用广泛的Java日志框架,其基于Log4j做了很多改进和升级,并且引入了很多有用的特性,在很多项目里被用作日志记录,所以还是得重视一下的。
漏洞描述
不久前,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。
而且由于Log4j2被广泛应用于大量相关的Java框架、应用、以及组件,所以诸如像Apache Struts2、Apache Solr、Apache Druid、Apache Flink、Spring-boot-starter-log4j2...等均可能受到影响,所以影响范围还是挺广的。
漏洞评级
Apache Log4j 远程代码执行漏洞 严重
影响版本
经验证 2.15.0-rc1 版本存在绕过,实际受影响范围如下:
Apache Log4j 2.x < 2.15.0-rc2
安全方案建议
1、排查应用是否引入了Apache log4j-core Jar包,若存在依赖引入,且在受影响版本范围内,则可能存在漏洞影响。请尽快升级Apache Log4j2所有相关应用到最新的 log4j-2.15.0-rc2 版本,地址为
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
2、升级已知受影响的应用及组件,如 spring-boot-starter-log4j2/Apache Struts2/Apache Solr/Apache Druid/Apache Flink
3、可升级jdk版本至6u211 / 7u201 / 8u191 / 11.0.1以上,可以在一定程度上限制JNDI等漏洞利用方式。
4、其他临时缓解措施:
禁止没有必要的业务访问外网。
设置jvm参数 “-Dlog4j2.formatMsgNoLookups=true”
设置“log4j2.formatMsgNoLookups=True”
系统环境变量“FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS”设置为“true”
【备注】:建议您在升级前做好数据备份工作,避免出现意外
相关链接
1、https://github.com/apache/logging-log4j2
2、https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2