Apache Log4j2 最初是由 Ceki Gülcü 编写,是 Apache 软件基金会 Apache 日志服务项目的一部分。Log4j 是几种 Java 日志框架之一。攻击者利用该漏洞,可在未授权的情况下远程执行代码。目前,漏洞利用细节已公开,Apache官方已发布补丁修复该漏洞。
漏洞情况信息
本次 Apache Log4j 远程代码执行漏洞,正是由于组件存在 Java JNDI 注入漏洞。当程序将用户输入的数据记入日志时,攻击者通过构造特殊请求,来触发 Apache Log4j2 中的远程代码执行漏洞,从而利用此漏洞在目标服务器上执行任意代码。
漏洞评级
Apache Log4j2远程代码执行漏洞 高危
已知受影响应用及组件:
Apache Solr
Apache Flink
Apache Druid
srping-boot-strater-log4j2
检测与防御方法
1、若程序使用Maven打包,查看项目的pom.xml文件中是否存在下图所示的相关字段,若版本号为小于2.15.0,则存在该漏洞,可能被攻击。
2、攻击者通常使用dnslog方式进行扫描、探测,可通过应用系统报错日志中的:
"javax.naming.CommunicationException"、 "javax.naming.NamingException: problem generating object using object factory"、 "Error looking up JNDI resource"关键字进行排查。
3、可通过接入华清信安TDR智能安全运营服务平台,对“$“符号进行检测,并在边界对DNSlog相关域名进行检测。
漏洞修复建议
官方缓解措施:
当前官方已发布最新版本已修复漏洞,建议受影响的用户及时更新官方的最新版本。链接如下:
https://github.com/apache/logging-log4j2/
releases/tag/log4j-2.15.0-rc2
临时缓解措施:
若由于其他原因,暂时无法升级到最新版本的用户可根据以下方法缓解:
1、jvm参数 -Dlog4j2.formatMsgNoLookups=true
2、log4j2.formatMsgNoLookups=True
3、系统环境变量 FORMAT_MESSAGES_PATTERN_
DISABLE_LOOKUPS 设置为true
TDR智能安全运营服务
目前,华清信安TDR智能安全运营服务平台已支持对Apache Log4j2远程代码执行漏洞的检测与防护能力。