01背景介绍
apache log4j2是一个基于java的日志记录工具。该工具重写了log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。
近日,网络上出现 apache log4j2 远程代码执行漏洞,攻击者可利用该漏洞构造特殊的数据请求包,最终触发远程代码执行。
02漏洞描述
攻击者可以通过发送精心构造的数据请求到使用apache log4j 作为日志组的应用系统来利用此漏洞,对攻击者的恶意输入进行打印的情况下,将触发远程代码执行漏洞。
经验证,apache struts2、apache solr、apache druid、apache flink等均受影响,漏洞利用无需特殊配置。
受影响版本:
apache log4j 2.x < 2.15.0-rc2
03修复建议
1、建议受影响用户尽快升级到安全版本应尽快升级apache log4j-2 至2.15.0-rc2版。
官方安全版本下载可以参考以下链接:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
2、建议对 apache struts2/apache solr/apache flink/apache druid 等已知受影响的应用及组件进行升级。
3、临时性缓解措施(任选一种)
在jvm参数中添加 -dlog4j2.formatmsgnolookups=true;
系统环境变量中将format_messages_pattern_disable_lookups设置为true;
创建“log4j2.component.properties”文件,文件中增加配置“log4j2.formatmsgnolookups=true”。