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)限制受影響應用對外訪問網際網路