2021年12月9日晚,多家安全厂商监测到Apache Log4j2存在任意代码执行漏洞,受影响版本为2.0 ≤ Apache Log4j <= 2.14.1,攻击者可以利用此漏洞在目标服务器上执行任意代码。
日志记录是应用程序的基础组件,在许多开源组件中都有应用,例如Apache Struts2、Apache Solr、Apache Druid、Apache Flink等,利用这些开源组件开发的WEB应用,数据处理平台、高性能查询分析引擎以及分布式存储系统等,其安全性会受到该漏洞的影响。不过Log4j2上出现远程代码执行的高危漏洞不是首次,早在2017年就有反序列化漏洞曝出,黑客可以在目标服务上执行任意代码。但本次发现的漏洞,综合评估利用难度低,利用要求少,涉及用户量巨大,因此,攻击者很容易使用该漏洞实施非法活动,并可能造成较为严重的危害。
官方修补建议
目前,官方暂未发布正式更新版本,但已给出应急方案:
1、及时更新对应临时补丁:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
2、若无法更新,可采取以下缓解措施:
-
修改jvm参数:
Dlog4j2.formatMsgNoLookups=true
-
修改配置:
log4j2.formatMsgNoLookups=True
-
将系统环境变量FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为 true
3、建议开发人员排查Java应用是否引入log4j-api,log4j-core两个jar,评估可能的威胁状态。