【漏洞通告】Apache Log4j2拒绝服务漏洞(CVE-2021-45046)

发布时间 2021-12-16


0x00 漏洞概述

CVE     ID

CVE-2021-45046

时      间

2021-12-14

类      型

Dos

等      级

中危

远程利用

影响范围


攻击复杂度

可用性

用户交互

 

所需权限

PoC/EXP


在野利用


 

0x01 漏洞详情

image.png

Apache Log4j2是一个开源的Java日志框架,被广泛地应用在中间件、开发框架与Web应用中。

部分时间线

11月24日:阿里云安全团队向Apache官方报告了Apache  Log4j2远程代码执行漏洞CVE-2021-44228;

12月7日:Apache Log4j2官方发布log4j2-2.15.0-rc1并第一次修复CVE-2021-44228漏洞;

12月9日:启明星辰安全应急响应中心监测到Apache Log4j2 远程代码执行漏洞CVE-2021-44228(CVSS评分10.0),各产品线开展应急响应处置。

12月14日:启明星辰安全应急响应中心监测到Apache Log4j 1.2远程代码执行漏洞CVE-2021-4104(CVSS评分6.6)。

12月15日:启明星辰安全应急响应中心监测到Apache Log4j2拒绝服务漏洞CVE-2021-45046(CVSS评分3.7)。

 

Apache Log4j2官方修复方案

12月7日:Apache Log4j2官方发布log4j2-2.15.0-rc1并第一次修复CVE-2021-44228;

12月10日:log4j2-2.15.0-rc1存在Bypass,Apache Log4j2官方发布log4j2-2.15.0-rc2修复bypass漏洞。

 12月11日:Apache Log4j2官方发布了2.15.0 版本,以修复CVE-2021-44228。虽然 2.15.0 版本解决了Message Lookups功能和JNDI 访问方式的问题,但 Log4j团队认为默认启用 JNDI 存在安全风险,且2.15.0版本存在CVE-2021-45046漏洞。

12月13日:Apache Log4j2官方发布了Log4j 2.16.0版本(Java 8或更高版本),该版本删除了Message Lookups功能并默认禁用JNDI功能,并从该版本开始默认禁用JNDI功能,但可以通过将log4j2.enableJndi设置为 true 以启用 JNDI。此外,Log4j现在将协议默认限制为仅java、ldap和ldaps,并将ldap协议限制为只能访问Java原始对象。本地主机以外的主机需要被明确允许。

12月15日:Apache Log4j2官方发布了Apache Log4j 2.12.2版本,该版本修复了CVE-2021-44228和CVE-2021-45046,适用于仍在使用Java 7的用户。

 

供应链影响

根据非权威统计,直接和间接引用Log4j的开源组件预计超过17万个。目前已知的受影响的应用和组件包括:Apache Solr、Apache Struts2、Apache Flink、Apache Druid、Apache Log4j SLF4J  Binding、spring-boot-strater-log4j2、Hadoop Hive、ElasticSearch、Jedis、Logging、Logstash以及VMware多个产品等。

由于该漏洞的影响范围是全球性的,国外各大知名企业和组织的产品均受影响,如Amazon、Apache、Atlassian、Cisco、Debian、Docker、Fortinet、Google、IBM、英特尔、Juniper Networ、微软、Oracle、Red Hat、Ubuntu和VMware等。

CVE-2021-44228漏洞的利用难度低,默认配置即可远程利用,且PoC/EXP已在互联网上公开,现已被网络犯罪团伙广泛利用。

 

漏洞影响范围

CVE-2021-4104:Apache Log4j 1.2

CVE-2021-44228:Apache Log4j 2.0-beta9 - 2.12.1 、Apache Log4j 2.13.0 - 2.15.0-rc1

CVE-2021-45046:Apache Log4j 2.0-beta9 - 2.12.1、Apache Log4j 2.13.0-2.15.0


0x02 处置建议

1.通用修复方案

已升级到 Log4j 2.15.0 版本的用户建议升级到 Log4j 2.16.0 以避免针对CVE-2021-44228 和 CVE-2021-45046漏洞的攻击

CVE-2021-4104

Apache Log4j 1.2中存在RCE漏洞(CVE-2021-4104,仅配置为使用JMSAppender时存在,非默认),建议相关用户升级到Log4j 2的最新版本。

缓解措施:

l  注释或删除 Log4j 配置中的 JMSAppender。

l  使用此命令从log4j jar包中删除 JMSAppender 类文件:

l  zip -q -d log4j-*.jar org/apache/log4j/net/JMSAppender.class

参考链接:

http://mail-archives.apache.org/mod_mbox/www-announce/202112.mbox/%3C1a5a0193-71c4-0613-ca92-f50f801543d9@apache.org%3E

 

CVE-2021-44228

Log4j 1.x:不受CVE-2021-44228漏洞影响。

Log4j 2.x

l  受影响用户应升级到Apache Log4j 2.15.0-rc2及以上版本,建议升级到 2.16.0 版本(Java 8或更高版本)。

l  使用Java 7的用户应升级到Apache Log4j 2.12.2版本。

l  删除 JndiLookup 类:zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

参考链接:

https://logging.apache.org/log4j/2.x/index.html

 

CVE-2021-45046

Log4j 1.x:不受CVE-2021-45046漏洞影响。

Log4j 2.x

l  Java 8或更高版本应升级到 Apache Log4j 2.16.0 版本。

l  使用Java 7 的用户应升级到Apache Log4j 2.12.2版本。

l  删除 JndiLookup 类: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

参考链接:

http://mail-archives.apache.org/mod_mbox/www-announce/202112.mbox/%3C13e07d4e-ceb6-e510-be98-7d2ee8fa0a85@apache.org%3E

下载链接:

https://logging.apache.org/log4j/2.x/download.html

注:只有log4j-core JAR文件受CVE-2021-44228和CVE-2021-45046漏洞的影响。只使用log4j-api JAR文件而不使用log4j-core JAR文件的应用程序不会受到影响。

 

2.通用临时方案(CVE-2021-44228)

l  建议JDK使用6u211、7u201、8u191、11.0.1及以上的版本;

l  对于>=2.10版本:

添加jvm启动参数:-Dlog4j2.formatMsgNoLookups=true;

在log4j2.component.properties配置文件中增加如下内容:log4j2.formatMsgNoLookups=true;

系统环境变量中将LOG4J_FORMAT_MSG_NO_LOOKUPS设置为true;

l  对于2.7-2.14.1版本:

可以修改所有PatternLayout模式,将消息转换器指定为%m{nolookups},而不仅仅是%m。

l  对于2.0-beta9-2.7版本:

唯一的缓解措施是删除jndiookup类:zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

l  禁止安装log4j的服务器访问外网,并在边界对dnslog相关域名访问进行检测。


0x03 参考链接

https://github.com/apache/logging-log4j2

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

https://mp.weixin.qq.com/s/J5H9aZVhwQaVn3LvKi2Kqw

https://logging.apache.org/log4j/2.x/security.html#CVE-2021-44228

https://www.cisa.gov/uscert/apache-log4j-vulnerability-guidance

 

0x04 更新版本

版本

日期

修改内容

V1.0

2021-12-9

首次发布

V2.0

2021-12-10

修改细节

V3.0

2021-12-10

修改bug

V4.0

2021-12-12

新增CVE-ID及部分内容、修改缓解措施。

V5.0

2021-12-14

修改处置建议

V6.0

2021-12-16

修改细节


0x05 关于我们

公司简介

启明星辰公司成立于1996年,并于2010年6月23日在深交所中小板正式挂牌上市,是国内极具实力的、拥有完全自主知识产权的网络安全产品、可信安全管理平台、安全服务与解决方案的综合提供商。

公司总部位于北京市中关村软件园,在全国各省、市、自治区设有分支机构,拥有覆盖全国的渠道体系和技术支持中心,并在北京、上海、成都、广州、长沙、杭州等多地设有研发中心。

多年来,启明星辰致力于提供具有国际竞争力的自主创新的安全产品和最佳实践服务,帮助客户全面提升其IT基础设施的安全性和生产效能,为打造和提升国际化的民族信息安全产业领军品牌而不懈努力。


关于我们

启明星辰安全应急响应中心主要针对重要安全漏洞的预警、跟踪和分享全球最新的威胁情报和安全报告。

关注以下公众号,获取全球最新安全资讯:

image.png