关于Apache Log4j2远程代码执行漏洞的安全预警公告.doc


关于Apache Log4j2远程代码执行漏洞的

安全预警公告

近期,Apache Log4j2远程代码执行漏洞(CNVD-2021-95914)曝光,引发社会广泛关注。攻击者利用该漏洞,可在未授权的情况下远程执行代码,获得服务器控制权限。经综合技术分析研判,该漏洞具有危害程度高、利用难度低、影响范围大的特点。

为正确处置突发漏洞风险,降低漏洞带来的损失,网信办整理收集Apache Log4j2远程代码执行漏洞排查及修复手册以供各单位参考。

一、漏洞情况分析

Apache Log4j是一个基于Java的日志记录组件。Apache Log4j2是Log4j的升级版本,通过重写Log4j引入了丰富的功能特性。该日志组件被广泛应用于业务系统开发,用以记录程序输入输出日志信息。

Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。

CNVD对该漏洞的综合评级为高危

二、漏洞排查方法

2.1 版本排查

存在该漏洞的Log4j2组件版本为:Log4j2.X≤Log4j组件版本<Log4j-2.15.0-rc2。具体组件版本排查方法如下:

1)根据Java JAR解压后是否存在org/apache/logging/log4j相关路径结构,查询Log4j2组件及其版本情况。

(2)若程序使用Maven打包,查看项目的pom.xml文件中org.apache.logging.log4j相关字段及版本情况。

(3)若程序使用Gradle打包,可查看build.gradle编译配置文件,查看中org.apache.logging.log4j相关字段及版本情况。

2.2 中间件排查

Apache Log4j2组件通常会嵌套在其他中间件使用,需要相关人员查看开发文档或联系系统开发商、维护人员进行判断是否有使用相关中间件。

涉及的受影响中间件或应用,包括但不限于:Apache SolrApache DruidApache Struts2Apache FlinkFlumeDubboRedisLogstashElasticSearchKafkaGhidraMinecraftApache hiveDataxStreamingDolphin SchedulerStormSpring等。

三、攻击情况排查

3.1 日志排查

攻击者常采用dnslog方式进行扫描、探测,对于常见漏洞利用方式对应用系统报错日志中的“javax.naming.CommunicationException”“javax.naming.NamingException: problem generating object using object factory”“Error looking up JNDI resource”等关键字段进行排查。

3.2 流量排查

攻击者的漏洞利用数据包中可能存在:“${jndi:rmi”“${jndi:ldap”等字样,通过监测相关流量是否存在上述字符以发现可能的攻击行为。

四、漏洞修复建议

4.1 升级至安全版本

目前,Apache官方已发布新版本完成漏洞修复,请及时升级至最新版本2.16.0https://logging.apache.org/log4j/2.x/download.html

4.2 临时修复措施(任选其一)

(1)添加jvm启动参数-Dlog4j2.formatMsgNoLookups=true

(2)在应用classpath下添加log4j2.component.properties配置文件,文件内容为log4j2.formatMsgNoLookups=true

(3)JDK使用11.0.1、8u191、7u201、6u211及以上的高版本;

(4)限制受影响应用对外访问互联网

(5)禁用JNDI。如在spring.properties里添加spring.jndi.ignore=true

(6)部署使用第三方防火墙产品进行安全防护,并更新WAFRASP规则等。

请各单位主动联系供应链厂商、企业,进行全面排查。避免由于此漏洞造成的服务器被黑客远程控制进行非法活动、感染勒索病毒造成损失、信息泄露等网络安全事件。

如排查发现存在此漏洞,请第一时间联系网信办。网信办将协调应急处理,避免发生以上网络安全事件。

联系人:陈磊,联系电话:60601070


天津科技大学网络安全和信息化办公室

2021年12月16日

1

TOP