漏洞描述
Apache Log4j 2是对Log4j的升级,它比其前身Log4j 1.x提供了重大改进,并提供了Logback中可用的许多改进,被广泛应用于业务系统开发,用以记录程序输入输出日志信息。是目前较为优秀的Java日志框架。由于Apache Log4j2某些功能存在递归解析功能,攻击者可通过构造指定的恶意请求,触发远程代码执行从而获取服务器权限。
漏洞编号
CNVD-2021-95914
影响范围
Apache Log4j 2.x <= 2.15.0-rc1(据悉,官方rc1补丁有被绕过的风险)
经火线安全团队验证,可能受影响的应用不限于以下内容(漏洞攻击面可能会逐步扩散到基础开源软件、客户端软件等更多资产面):
Spring-Boot-strater-log4j2
Apache Struts2
Apache Solr
Apache Druid
Apache Flink
ElasticSearch
Flume
Dubbo
Jedis
Logstash
Kafka
漏洞复现
2021年12月10日,火线安全平台安全专家第一时间复现上述漏洞,复现过程如下:
新建一个Maven项目,在pom.xml导入即可
修复建议
1、使用火线安全的洞态IAST进行检测 --》DongTai-IAST(https://dongtai.io)
2、检查pom.xml是否存在log4j版本 2.0<= 2.14.1
3、当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。
链接:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
4、临时性缓解措施(任选一种)
在jvm参数中添加 -Dlog4j2.formatMsgNoLookups=true
系统环境变量中将FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为true
建议JDK使用11.0.1、8u191、7u201、6u211及以上的高版本
创建“log4j2.component.properties”文件,文件中增加配置“log4j2.formatMsgNoLookups=true”
限制受影响应用对外访问互联网
WAF添加漏洞攻击代码临时拦截规则。
参考资料
https://www.cnvd.org.cn/webinfo/show/7116
https://github.com/apache/logging-log4j2
https://github.com/apache/logging-log4j2/commit/7fe72d6
https://www.lunasec.io/docs/blog/log4j-zero-day/
持续更新:https://i0x0fy4ibf.feishu.cn/docs/doccn0nmfQrC2MyrQyKU75uImWc#
如若转载,请注明原文地址