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