警惕!Apahce Log4j2 遠程代碼執行漏洞
0x01漏洞狀態
漏洞細節 漏洞POC 漏洞EXP 在野利用 公開 公開 未知 未知 |
0x02漏洞描述
Apache Log4j2 是一個基于 Java 的日志記錄工具。該工具重寫了 Log4j 框架,并且引入了大量豐富的特性。我們可以控制日志信息輸送的目的地為控制臺、文件、GUI 組件等,通過定義每一條日志信息的級別,能夠更加細致地控制日志的生成過程。該日志框架被大量用于業務系統開發,用來記錄日志信息每一條日志信息的級別,能夠更加細致地控制日志的生成過程。

2021年12月29日,360漏洞云團隊監測到Apache官方發布了安全更新,修復了一個Apache Log4j2組件中存在的遠程代碼執行漏洞。漏洞編號:CVE-2021-44832,漏洞威脅等級:中危,漏洞評分:6.6。漏洞利用條件較苛刻,用戶可選擇性處理。
請注意,只有 log4j-core JAR 文件受此漏洞影響。僅使用 log4j-api JAR 文件而不使用 log4j-core JAR 文件的應用程序不受此漏洞的影響。
Apache Log4j 是唯一受此漏洞影響的日志服務子項目。Log4net 和 Log4cxx 等其他項目不受此影響。
Log4j2 遠程代碼執行漏洞
Log4j2 遠程代碼執行漏洞 漏洞編號 CVE-2021-44832 漏洞類型 遠程代碼執行 漏洞等級 中危(6.6) 公開狀態 未知 在野利用 未知 漏洞描述 Apache Log4j2 版本2.0-beta7到 2.17.0(不包括安全修復版本 2.3.2 和 2.12.4)容易受到遠程代碼執行 (RCE) 攻擊, 擁有修改日志配置文件權限的攻擊者可以使用JDBC Appender構建惡意配置,其數據源引用JNDI URI,可以遠程執行代碼,但該漏洞利用需要配置文件jdbc連接可控。 此問題已通過將 JNDI 數據源名稱限制為 Log4j2 版本 2.17.1、2.12.4 和 2.3.2 中的 java 協議來解決。 |
0x03漏洞等級
中危(6.6)
0x04影響版本
2.0-beta7<=Apache Log4j2<=2.17.0
- 不包括安全修復版本 2.3.2 和 2.12.4 -
0x05漏洞復現
2021年12月29日,360漏洞云安全專家已第一時間復現上述漏洞,演示如下:

CVE-2021-44832
完整POC代碼已在360漏洞云情報平臺(https://loudongyun.#/)發布,360漏洞云情報平臺用戶可通過平臺下載進行安全自檢。
0x06修復建議
臨時修復建議
1. Log4j 1.x 緩解:
Log4j 1.x 不受此漏洞影響。
2. Log4j 2.x 緩解:
①升級到 Log4j 2.3.2(適用于 Java 6)、2.12.4(適用于 Java 7)或 2.17.1(適用于 Java 8 及更高版本)。
②修改系統中的JDBCAppender配置為 JNDI 數據源僅支持Java協議。
③建議 JDK 使用 11.0.1、8u191、7u201、6u211 及以上的高版本。
④移除 log4j-core 包中 JndiLookup 類文件,并重啟服務。
zip -q-d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
④限制受影響應用對外訪問互聯網
官方修復建議
官方已發布安全版本,請及時下載更新,下載地址:
https://github.com/apache/logging-log4j2/tags
版本發布詳情:
1. 從版本 2.17.1(以及 Java 7 和Java 6 的 2.12.4 和 2.3.2)開始,JDBC Appender 將使用 JndiManager 并要求 log4j2.enableJndiJdbc 系統屬性包含 true 值以啟用 JNDI。
2. 啟用 JNDI 的屬性已從“log4j2.enableJndi”重命名為三個單獨的屬性:log4j2.enableJndiLookup、log4j2.enableJndiJms和 log4j2.enableJndiContextSelector。
3. JNDI功能已在以下版本中得到強化:2.3.1、2.12.2、2.12.3 或 2.17.0:從這些版本開始,已刪除對 LDAP 協議的支持,并且 JNDI 連接僅支持 JAVA 協議。
與此同時,請做好資產自查以及預防工作,以免遭受黑客攻擊。