Apache Log4j2 RCE 命令執行漏洞預警及修復方案


漏洞名稱:Apache Log4j2遠程代碼執行漏洞

組件名稱:Apache Log4j2

截止2021年12⽉10⽇,受影響的Apache log4j2版本:2.0≤Apache Log4j<=2.15.0-rc1

漏洞類型:遠程代碼執行

綜合評價:

<利用難度>:容易,無需授權即可遠程代碼執行。

<威脅等級>:高危,能造成遠程代碼執行。

Apache Log4j2 RCE 命令執行漏洞預警及修復方案

 

01 漏洞詳情

Apache Log4j2是一個基於Java的日志記錄工具。該工具重寫了Log4j框架,並且引入了大量豐富的特性。該日志框架被大量用於業務系統開發,用來記錄日志信息。

由於Apache Log4j2某些功能存在遞歸解析功能,攻擊者可直接構造惡意請求,⽆需進⾏特殊配置,即可觸發遠程代碼執⾏。

02 影響范圍

Apache Log4j2廣泛地應用在中間件、開發框架、Web應用中。漏洞危害性高,涉及用戶量較大,導致漏洞影響力巨大。

截止2021年12⽉10日,受影響的Apache log4j2版本:2.0 <= Apache log4j2 <= 2.15.0-rc1

受影響的Java框架:

Apache Log4j2 RCE 命令執行漏洞預警及修復方案

 

03 修復建議

1、項目中直接使用Apache Log4j2

升級Apache Log4j2所有相關應用到最新的log4j-2.15.0-rc2版本,地址 :

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

  • Apache Maven 版本

修改pom.xml

<dependencies>
 <dependency>
 <groupId>org.apache.logging.log4j</groupId>
 <artifactId>log4j-api</artifactId>
 <version>2.15.0-rc2</version>
 </dependency>
 <dependency>
 <groupId>org.apache.logging.log4j</groupId>
 <artifactId>log4j-core</artifactId>
 <version>2.15.0-rc2</version>
 </dependency>
</dependencies>

  

  • Gradle 版本

修改build.gradle

dependencies {
 compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.15.0-rc2'
 compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.15.0-rc2'
}

  

2、框架⼆次加載 Apache Log4j2

截止目前,第三方框架中使⽤Apache Log4j2的,⽐如srping-boot、Apache Struts2等,暫未發布最新修復版本。

只能使用臨時方案進行修復。

①在jvm啟動參數中添加-Dlog4j2.formatMsgNoLookups=true

Apache Log4j2 RCE 命令執行漏洞預警及修復方案

 ②系統環境變量中配置export LOG4J_FORMAT_MSG_NO_LOOKUPS=true

Apache Log4j2 RCE 命令執行漏洞預警及修復方案

 

③項目中創建log4j2.component.properties文件,文件中增加配置log4j2.formatMsgNoLookups=true

Apache Log4j2 RCE 命令執行漏洞預警及修復方案

 

④部署第三方防火牆產品。

04 應急支持

如需應急支持,請撥打客服電話。

應急響應聯系電話:400-8818-293。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM