Apache Log4j 任意代碼執行漏洞


安全風險通告

1章 安全通告

 近日,相關機構監測到 Apache Log4j 存在任意代碼執行漏洞,經過分析,該組件存在 Java JNDI 注入漏洞,當程序將用戶輸入的數據進行日志,即可觸發此漏洞,成功利用此漏洞可以在目標服務器上執行任意代碼。

經驗證,Apache Struts2、Apache Solr、Apache Druid、Apache Flink 等眾多組件與大型應用均受影響,鑒於此漏洞危害巨大,利用門檻極低,建議盡快參考緩解方案阻止漏洞攻擊。

當前漏洞狀態:

技術細節

PoC 狀態

 

EXP 狀態

在野利用

 

已公開

已公開

已公開

已發現

2 漏洞信息

2.1 漏洞描述

Apache Log4j 是 Apache 的一個開源項目,Apache log4j2 是 Log4j 的升級版本,我們可以控制日志信息輸送的目的地為控制台、文件、GUI 組件等,通過定義每一條日志信息的級別,能夠更加細致地控制日志的生成過程。

近日,奇安信 CERT 監測到 Apache Log4j 存在任意代碼執行漏洞,經過分析,該組件存在 Java JNDI 注入漏洞,當程序將用戶輸入的數據進行日志,即可觸發此漏洞,成功利用此漏洞可以在目標服務器上執行任意代碼。經驗證,Apache Struts2、Apache Solr、Apache Druid、Apache Flink 等眾多組件與大型應用均受影響,鑒於此漏洞危害巨大,利用門檻極低,建議盡快參考緩解方案阻止漏洞攻擊。

Apache Log4j 任意代碼執行漏洞

漏洞名稱

Apache Log4j 任意代碼執行漏洞

漏洞類型

代碼執行

風險等級

緊急

漏洞 ID

暫無

公開狀態

已公開

在野利用

已發現

漏洞描述

Apache Log4j 是 Apache 的一個開源項目,通過定義每一條

日志信息的級別,能夠更加細致地控制日志生成過程。經過分

析,Log4j2 中存在 JNDI 注入漏洞,當程序將用戶輸入的數據進行 日志記錄時,即可觸發此漏洞,成功利用此漏洞可以在目標服務器上執行任意代碼。

參考鏈接

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

2.2 風險等級

緊急

3 影響范圍

Apache Log4j 2.x < 2.15.0-rc2 

4 處置建議

1. 漏洞排查

1)排查應用是否引入了 Apache Log4j2 Jar 包,若存在依賴引入,則可能存在漏洞影響。 相關用戶可根據 Java JAR 解壓后是否存在org/apache/logging/log4j 相關路徑結構,判斷是否使用了存在漏洞的組件,若存在相關 Java 程序 包,則極可能存在該漏洞。

 

2) 若程序使用 Maven 打包,查看項目的 pom.xml 文件中是否存在如下圖

所示的相關字段,若版本號為小於 2.15.0-rc2,則存在該漏洞。

 

 3)若程序使用 gradle 打包,查看 build.gradle 編譯配置文件,若在dependencies 部分存在 org.apache.logging.log4j 相關字段,且版本號為小於 2.15.0-rc2,則存在該漏洞。

 

 

2. 攻擊排查

a) 攻擊者在利用前通常采用 dnslog 方式進行掃描、探測,對於常見利用方式可通過應用系統報錯日志中的

"javax.naming.CommunicationException"、

"javax.naming.NamingException: problem generating object usingobject factory"、"Error looking up JNDI resource"關鍵字進行排查。

b) 流量排查:攻擊者的數據包中可能存在:“${jndi:rmi”、“${jndi:ldap”字樣。

3. 修復建議

a) 升級到最新版本:

請聯系廠商獲取修復后的官方版本:https://github.com/apache/logginglog4j2 ;

請盡快升級 Apache Log4j2 所有相關應用到最新的 log4j-2.15.0-rc2 版本,地址:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2  

b) 緩解措施:

1)添加 jvm 啟動參數 -Dlog4j2.formatMsgNoLookups=true

2)在應用程序的 classpath 下添加 log4j2.component.properties 配置文件,文件內容:log4j2.formatMsgNoLookups=True

3)設置系統環境變量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS設置為 true

4)建議 JDK 使用 11.0.1、8u191、7u201、6u211 及以上的高版本

5)限制受影響應用對外訪問互聯網 

 


免責聲明!

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



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