十幾個小時前,網際網路上曝出了 Apache Log4j2 中的遠端程式碼執行漏洞。攻擊者可利用此漏洞構造特殊的資料請求包,最終觸發遠端程式碼執行。據“白帽”分析確認,幾乎所有技術巨頭如百度等都是該 Log4j 遠端程式碼執行漏洞的受害者。
(據 Apache 官方最新資訊顯示,目前 release 頁面上 Log4j-2.15.0 更新並通過,正式釋出工作正在進行中)
自從 11 月 24 日阿里巴巴雲安全團隊正式報告了該 Apache Log4J2 遠端程式碼執行漏洞以來,其危漏洞危害已在網際網路上持續蔓延。由於 Apache Log4j2 的某些函式具有遞迴分析函式,因此攻擊者可以直接構造惡意請求來觸發遠端程式碼執行漏洞。
Apache Log4j2
Apache Log4j2 最初是由 Ceki Gülcü 編寫,是 Apache 軟體基金會 Apache 日誌服務專案的一部分。Log4j 是幾種 Java 日誌框架之一。而 Apache Log4j2 是對 Log4j 的升級,相比其前身 Log4j1 有了更顯著的改進,同時修復了 Logback 架構中的一些固有問題。
通過 Apache Log4j2 框架,開發者可通過定義每一條日誌資訊的級別,來控制日誌生成過程。
目前該日誌框架已被廣泛用於業務系統開發,用來記錄日誌資訊。大多數情況下,開發者可能會將使用者輸入導致的錯誤資訊寫入日誌中。
漏洞描述
Apache Log4j2 遠端程式碼執行漏洞的詳細資訊已被披露,而經過分析,本次 Apache Log4j 遠端程式碼執行漏洞,正是由於元件存在 Java JNDI 注入漏洞:當程式將使用者輸入的資料記入日誌時,攻擊者通過構造特殊請求,來觸發 Apache Log4j2 中的遠端程式碼執行漏洞,從而利用此漏洞在目標伺服器上執行任意程式碼。
受影響版本:
Apache Log4j 2.x <= 2.14.1
已知受影響的應用程式和元件:
- srping-boot-strater-log4j2
- Apache Solr
- Apache Flink
- Apache Druid
據悉,此次 Apache Log4j2 遠端程式碼執行漏洞風險已被業內評級為“高危”,且漏洞危害巨大,利用門檻極低。有報導稱,目前 Apache Solr、Apache Struts2、Apache Druid、Apache Flink 等眾多元件及大型應用均已經受到了影響,需儘快採取方案阻止。
解決方案
目前,Apache Log4j 已經發布了新版本來修復該漏洞,請受影響的使用者將 Apache Log4j2 的所有相關應用程式升級至最新的 Log4j-2.15.0-rc2 版本,同時升級已知受影響的應用程式和元件,如 srping-boot-strater-log4j2、Apache Solr、Apache Flink、Apache Druid。
臨時修復建議:
- JVM 引數新增 -Dlog4j2.formatMsgNoLookups=true
- log4j2.formatMsgNoLookups=True
- FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 設定為true
之前,就已經不知道多少次聽到關於 log4j 漏洞的訊息了,現在又直接來了個被惡意公開的新 0day,且影響面極廣。
據 payload 公開資訊顯示,目前全球範圍內大量網站已經被該漏洞“攻陷”,比如百度:
還有 iCloud:
該漏洞訊息一出,引起業內 java 領域開發者及安全工程師們的關注。
更新:
據 Apache 官方最新資訊顯示,release 頁面上已經更新了 Log4j 2.15.0 版本:
<dependencies>
<dependency org="org.apache.logging.log4j" name="log4j-api" rev="2.15.0" />
<dependency org="org.apache.logging.log4j" name="log4j-core" rev="2.15.0" />
</dependencies>
由於正式釋出工作正在進行中,因此對外暫時還無法看到 2.15 版本。
據 Apache 方面人士透露,目前 Maven Central 上仍有 0 個工件,可能需要幾個小時後才能同步映象伺服器並正式對外採用。更多後續,我們持續關注。
參考連結
https://github.com/apache/log...
https://repository.apache.org...