【漏洞通告】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