Checkmarkx 研究人員發現利用 Log4j 執行惡意程式碼的新方法,也驅使 Apache 軟體基金會於歐美新年假期間再次發佈更新版本 2.17.1 、 2.12.4 及 2.3.2 版。
新版本是用以修補最新漏洞 CVE-2021-44832,Checkmarx 研究人員指出,在 2 .17.0 版本中 JDBC (Java Database Connectivity API) Appender 仍然能動態載入 JDNI URL,JDBC Appender 是 Log4j 負責經由 JDBC API 輸出日誌記錄的元件。
周二一早 Checkmarkx 研究人員 Yaniv Nizry 在推特上貼出一封郵件擷圖,表示是 Log4j 遠端程式碼執行漏洞,不過隨後他澄清指出,這是一個本地程式碼執行 (local code execution) 。開採這個漏洞需要修補組態檔,因此嚴重性遠較 Log4Shell(CVE-2021-44228) 的 10.0 及 CVE-2021-45046 的 9.0 來得低。
Nizry 在最新的部落格中說道 CVE-2021-44832 也顯示了 Log4j 原始碼修補工作有多複雜。
他提及,Apache 的 Log4j 團隊的 2.17.0 修補程式關閉 JNDI 查詢及允許載入?協定/主機清單。但若使用不同的攻擊管道,的確有可能執行任意程式碼。
不過安全廠商 Bugcrowd 技術長 Casey Ellis 指出,要觸發最新漏洞需要相當繁複的條件,因此雖然仍值得注意,不過並不會讓 Log4j 已經很高的風險再雪上加霜。
Ellis 也指出,漏洞可能是經由靜態程式碼分析結合手動檢測發現。她說,Log4j 作為一個日誌資料庫,接收資料的方式相當彈性,而每個互動點都可能是開採管道,而且現在有許多人都在忙著檢視 Log4j,因此可以預期之後還會陸續發現類似的漏洞。
她建議,為確保安全,尤其如果系統採取了可能開採 CVE-2021-44832 的組態,最保險方法是更新到 2.17.1 版本。
即使在這最新一波漏洞修補前,專家已經指出,由於 Log4j 是現今最普及的 Java 專案之一,許多企業用它來掌管 Java App 日誌,因此要完全修補 Logj4,可能要耗時好幾年。
來源:SC Magazine
