Apache Log4j2 远程代码执行漏洞处置手册 – 绿盟科技技术博客
一、漏洞概述
12月9日,绿盟科技CERT监测到网上披露Apache Log4j2 远程代码执行漏洞,由于Apache Log4j2某些功能存在递归解析功能,未经身份验证的攻击者通过发送特别构造的数据请求包,可在目标服务器上执行任意代码。漏洞PoC已在网上公开,默认配置即可进行利用,该漏洞影响范围极广,建议相关用户尽快采取措施进行排查与防护。
12月10日,绿盟科技CERT发现Apache Log4j 2.15.0-rc1 版本仅修复LDAP和增加了host白名单,可以被绕过利用,官方发布了Apache Log4j 2.15.0-rc2版本进行修复,增加了对urI异常的处理。
Apache Log4j2是一款开源的Java日志框架,被广泛地应用在中间件、开发框架与Web应用中,用来记录日志信息。
漏洞成功复现截图:
2.15.0-rc1绕过复现截图:
漏洞细节 | 漏洞PoC | 漏洞EXP | 在野利用 |
已公开 | 已公开 | 已公开 | 存在 |
参考链接: https://issues.apache.org/jira/projects/LOG4J2/issues/LOG4J2-3201?filter=allissues
二、影响范围
受影响版本
- 2.0 <= Apache Log4j <= 2.15.0-rc1
注:使用Apache Log4j 1.X版本的应用,若开发者对JMS Appender利用不当,可对应用产生潜在的安全影响。
供应链影响范围:
已知受影响应用及组件:
Apache Solr
Apache Struts2
Apache Flink
Apache Druid
spring-boot-strater-log4j2
更多组件可参考如下链接:
https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/usages?p=1
不受影响版本
- Apache log4j-2.15.0-rc2(与官网的2.15.0稳定版相同)
三、漏洞检测
3.1 人工检测
1、相关用户可根据Java jar解压后是否存在org/apache/logging/log4j相关路径结构,判断是否使用了存在漏洞的组件,若存在相关Java程序包,则很可能存在该漏洞。
2、若程序使用Maven打包,查看项目的pom.xml文件中是否存在下图所示的相关字段,若版本号为小于2.15.0-rc2,则存在该漏洞。
3、若程序使用gradle打包,可查看build.gradle编译配置文件,若在dependencies部分存在org.apache.logging.log4j相关字段,且版本号为小于2.15.0-rc2,则存在该漏洞。
3.2 攻击排查
1、攻击者在利用前通常采用dnslog方式进行扫描、探测,常见的漏洞利用方式可通过应用系统报错日志中的”javax.naming.CommunicationException”、”javax.naming.NamingException: problem generating object using object factory”、”Error looking up JNDI resource”关键字进行排查。
2、攻击者发送的数据包中可能存在”${jndi:}” 字样,推荐使用全流量或WAF设备进行检索排查。
3.3 产品检测
绿盟科技远程安全评估系统(RSAS)与WEB应用漏洞扫描系统(WVSS)、网络入侵检测系统(IDS)、综合威胁探针(UTS)已具备对该漏洞的扫描与检测能力,请有部署以上设备的用户升级至最新版本。
关于RSAS的升级配置指导,请参考如下链接:
https://mp.weixin.qq.com/s/SgOaCZeKrNn-4uR8Yj_C3Q
3.4 申请云检测
绿盟科技面向用户提供远程检测服务,因该漏洞的检测存在一定风险,相关客户如需要申请云检测,请联系销售或项目经理沟通,或用个人的公司邮箱发邮件至[email protected],在正文中提供需要扫描的资产清单,可以扫描的时间,联系方式,服务人员会与您联系。
7x24h客服咨询热线: 400-818-6868转2
四、漏洞防护
4.1 官方升级
目前官方已发布log4j-2.15.0-rc2测试版本与apache-log4j-2.15.0稳定版修复该漏洞,受影响用户可先将Apache Log4j2所有相关应用到以上版本,下载链接:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2或https://logging.apache.org/log4j/2.x/download.html
注:可能出现不稳定的情况,建议用户在备份数据后再进行升级。
升级供应链中已知受影响的应用及组件:Apache Solr、Apache Struts2、Apache Flink、Apache Druid、spring-boot-strater-log4j2
4.2 产品防护
针对此漏洞,绿盟科技WEB应用防护系统(WAF)与网络入侵防护系统(IPS)已发布规则升级包,请相关用户升级规则,以形成安全产品防护能力。安全防护产品规则版本号如下:
产品规则升级的操作步骤详见如下链接:
IPS:https://mp.weixin.qq.com/s/DxQ3aaap8aujqZf-3VbNJg
WAF:https://mp.weixin.qq.com/s/7F8WCzWsuJ5T2E9e01wNog
4.3 临时防护措施
若相关用户暂时无法进行升级操作,可先用下列措施进行临时缓解:
1、添加jvm启动参数:-Dlog4j2.formatMsgNoLookups=true
2、在应用classpath下添加log4j2.component.properties配置文件,文件内容为:log4j2.formatMsgNoLookups=true
3、建议JDK使用11.0.1、8u191、7u201、6u211及以上的高版本
4、限制受影响应用对外访问互联网,并在边界对dnslog相关域名访问进行检测。
部分公共dnslog平台如下:
ceye.io
dnslog.link
dnslog.cn
dnslog.io
tu4.org
burpcollaborator.net
s0x.cn
4.4 平台监测
绿盟企业安全平台(ESP-H)与绿盟智能安全运营平台(ISOP)已经具备针对此漏洞的检测能力,部署有绿盟科技平台类产品的用户,可实现对漏洞的平台监测能力。
安全平台 | 升级包/规则版本号 |
ESP-H(绿盟企业安全平台) | 使用最新规则升级包 vulnDict-2021121001.dat |
ISOP(绿盟智能安全运营平台) | 升级攻击识别规则包至最新 attack_rule.1.0.0.1.1048648.dat |
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。