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

发布时间 2021-12-19


0x00 漏洞概述

CVE     ID

CVE-2021-45105

时      间

2021-12-17

类      型

Dos

等      级

高危

远程利用

影响范围


攻击复杂度

可用性

用户交互

所需权限

PoC/EXP


在野利用


 

0x01 漏洞详情

image.png

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

12月18日,Apache Log4j官方再次发布安全公告,Apache Log4j2组件中存在一个拒绝服务漏洞(CVE-2021-45105),该漏洞的CVSS评分为7.5,影响了Apache Log4j2 2.0-beta9 到2.16.0的所有版本,目前Apache Log4j官方已经发布了2.17.0版本(适用于Java 8或更高版本)。

由于没有防止来自self-referential 查找的不受控制的递归,当日志配置使用带有上下文查找的非默认模式布局(例如,$${ctx:loginId})时,控制线程上下文映射 (MDC) 输入数据的攻击者可以制作包含递归查找的恶意输入数据,导致 StackOverflowError ,从而终止进程,造成拒绝服务。

12月17日,启明星辰安全应急响应中心监测到Apache Log4j官方将Apache Log4j2拒绝服务攻击漏洞(CVE-2021-45046)的漏洞类型更改为远程代码执行漏洞(RCE),并将其CVSSv3分数从3.7更改为9.0。

由于Apache Log4j 2.15.0中修复CVE-2021-44228在某些非默认配置中是不完整的,当日志配置使用带有上下文查询的非默认模式布局(例如,$${ctx:loginId})时,可以使用JNDI查询模式输入恶意数据,导致特定环境下的信息泄露和远程代码执行、以及所有环境中的本地代码执行。

 

漏洞影响范围

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

CVE-2021-45105:Apache Log4j 2.0-beta9 - 2.16.0

 

0x02 处置建议

1.通用修复方案

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

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漏洞影响。

l  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

 

CVE-2021-45105

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

Log4j 2.x:Java 8或更高版本用户建议升级到 2.17.0 版。

缓解措施:

l  在日志配置的PatternLayout中,用线程上下文映射模式(%X,%mdc或%mdc)替换上下文查找,如${ctx:loginId}或$${ctx:loginId}。

l  否则,在配置中,删除对上下文查找的引用,如 ${ctx:loginId} 或 $${ctx:loginId},它们源自应用程序外部的源,如 HTTP 头或用户输入。

下载链接:

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

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

 

0x03 参考链接

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

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

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

 

0x04 更新版本

版本

日期

修改内容

V1.0

2021-12-19

首次发布

 

0x05 关于我们


公司简介

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

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

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

 

关于我们

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

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

image.png