安全風險通告
第1章 安全通告
監測到
經驗證,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 任意代碼執行漏洞 | ||||
漏洞類型 | 代碼執行 | 風險等級 | 緊急 | 漏洞 | 暫無 |
公開狀态 | 已公開 | 在野利用 | 已發現 | ||
漏洞描述 | 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 包,若存在依賴引入,則可能存在漏洞影響。

2) 若程式使用
所示的相關字段,若版本号為小于
若程式使用 gradle 打包,檢視 build.gradle 編譯配置檔案,若在dependencies 部分存在 org.apache.logging.log4j 相關字段,且版本号為小于
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設定為
(4)建議 JDK 使用 11.0.1、8u191、7u201、6u211 及以上的高版本
(5)限制受影響應用對外通路網際網路