安全風險通告
第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)限制受影響應用對外訪問互聯網