登录
EN

特别报道 | 立刻排查!Apache Log4j2 远程代码执行漏洞!

2021-12-10

12月9日,网上爆出Apache Log4j2 远程代码执行漏洞,目前漏洞PoC已在网上公开,由于Apache Log4j2广泛地应用在中间件、开发框架与Web应用中,该漏洞影响范围极广,建议广大用户立刻排查相关漏洞。



漏洞描述

Log4j是一个基于Java的日志记录程序,Log4j2是Log4j的升级,重写了Log4j框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。此次漏洞触发条件为只要外部用户输入的数据会被日志记录,即可造成远程代码执行。


复现结果如下:

WechatIMG1061.png



分析评级

严重


影响范围


受影响版本:

Apache Log4j 2.x <= 2.14.1

已知受影响应用及组件:

Apache Solr

Apache Flink

Apache Druid

srping-boot-strater-log4j2

...


漏洞自查

1.Java应用是否引入 log4j-api , log4j-core 两个jar

2.若使用Maven打包,查看项目的pom.xml文件中是否存在groupId为org.apache.logging.log4j的依赖

3.若程序使用gradle打包,查看build.gradle编译配置文件,是否存在org.apache.logging.log4j相关依赖

4.通过监测相关流量或者日志中是否存在“${jndi:”等字符来发现可能的攻击行为


处置建议

1.目前官方已公开修复代码,但尚未正式发布(升级时请提前做好备份)

https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

2.可选择以下方案缓解:
a.设置 log4j2.formatMsgNoLookups=True

b.系统环境变量

FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为true

c.禁止 log4j2 所在服务器外连


参考资料

https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2