【亲测有效】
漏洞背景
2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。2021年12月10日,阿里云安全团队发现 Apache Log4j 2.17.0-rc1 版本存在漏洞绕过,请及时更新至 Apache Log4j 2.17.0-rc2 版本。
漏洞描述
Apache Log4j2是一款优秀的Java日志框架。2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置,经阿里云安全团队验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。2021年12月10日,阿里云安全团队发现 Apache Log4j 2.17.0-rc1 版本存在漏洞绕过,请及时更新至 Apache Log4j 2.17.0-rc2 版本。阿里云应急响应中心提醒 Apache Log4j2 用户尽快采取安全措施阻止漏洞攻击。【后面Apache团队也发现2.15.0和2.16.0版本也存在远程数据漏洞,最终升级为安全版本 2.17.0】
漏洞评级
Apache Log4j 远程代码执行漏洞——严重
漏洞状态

影响版本
经验证 2.17.0-rc1 版本存在绕过,实际受影响范围如下:Apache Log4j 2.x < 2.17.0-rc2
安全建议
- 排查应用是否引入了Apache log4j-core Jar包,若存在依赖引入,且在受影响版本范围内,则可能存在漏洞影响。请尽快升级Apache Log4j2所有相关应用到最新的 log4j-2.15.0-rc2 版本,地址 https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
- 升级已知受影响的应用及组件,如 spring-boot-starter-log4j2/Apache Struts2/Apache Solr/Apache Druid/Apache Flink
- 可升级jdk版本至6u211 / 7u201 / 8u191 / 11.0.1以上,可以在一定程度上限制JNDI等漏洞利用方式。
解决方案
方案1(极力推荐)
此方式直接升级版本来解决,升级到安全版本(2.17.0)即可。要PS的是,我们引入安全版本依赖后,也要在starter-web启动器依赖里把Spring Boot自带的log依赖要排除掉(所谓铲草除根),因为Spring Boot封装的Apache Log4j2依赖暂时还没是最新版本,使用它可能会出现漏洞。重点来了,请参考如下代码:
原依赖(存在漏洞的):
<!-- 引入log4j2依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
【下面的 解决依赖1 和 解决依赖2 均可解决漏洞,将上面原依赖替换为下面的其中一个依赖】

本文详细讲述了2021年Apache Log4j2的重大漏洞,包括漏洞背景、影响范围和严重性,提供了解决方案,包括升级至安全版本2.17.0和临时配置建议,确保开发者快速响应和保护应用安全。
最低0.47元/天 解锁文章
3507

被折叠的 条评论
为什么被折叠?



