昨日,Apache Log4j2 成为知名漏洞,其危害性使得该漏洞吸引了安全圈所有人的目光。火线安全为防止其继续扩大影响范围,特发布针对该漏洞的处置方案。



漏洞描述



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



无害检测工具



Java 项目构建后,放置于 /opt/app.jar,如何检测 app.jar 是否受到 log4j 的影响?如何检测开源组件中是否套娃式引用Log4j漏洞版本并存在可利用链条?



点击查看:https://i0x0fy4ibf.feishu.cn/docs/doccn0nmfQrC2MyrQyKU75uImWc#



java -jar DongTaiZeroCheck.jar /opt/app.jar "dnslog address"



# 查看dnslog 中是否出现 app.jar.dnslog.address ,如果存在,存在漏洞;如果不存在,则无风险。



# notice: 本工具暂时只检测应用中是否存在可被利用的 log4j 组件依赖,未判断依赖是否在代码中被使用



漏洞复现



2021年12月10日,火线安全专家第一时间复现上述漏洞,复现过程如下:



新建一个Maven项目,在pom.xml导入即可



<dependencies>



<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->



<dependency>



<groupId>org.apache.logging.log4j</groupId>



<artifactId>log4j-core</artifactId>



<version>2.14.1</version>



</dependency>



<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->



<dependency>



<groupId>org.apache.logging.log4j</groupId>



<artifactId>log4j-api</artifactId>



<version>2.14.1</version>



</dependency>



</dependencies>



修复建议



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#