JetBrains IntelliJ 平臺將完全停止使用 Log4j,並切換到 java.util.logging 作為標準紀錄檔框架。
官方表示,基於 IntelliJ 平臺的 IDE 不受 Log4j 漏洞的影響,因為它們使用了 Log4j 1.2 的修復版本,並刪除了所有與網路相關的程式碼,而且 Log4j 庫的第 1 版和第 2 版是兩個完全不同的程式碼庫,具有不相容的 API。但即便如此,一些自動化安全工具仍然將他們使用的「舊」版本 Log4j 標記為安全漏洞。
據介紹,IntelliJ 對紀錄檔框架的要求相當低,其需要的唯一功能是記錄到檔案和控制檯,以及為程式碼庫的不同部分設定紀錄檔級別的可能性。所有這些要求都包含在作為 JDK 一部分的標準紀錄檔 API (java.util.logging) 中。為了避免錯誤的安全警報以及減少潛在的攻擊面,IntelliJ 平臺刪除 Log4j 元件並切換到使用 java.util.logging 作為標準紀錄檔框架,這些更新將在 2022.1 中釋出。
此外,由於大量第三方外掛(直接或間接)使用了 Log4j,IntelliJ 將釋出 Log4j API 的,將紀錄檔輸出重定向到 java.util.logging,此功能源自 SLF4J 專案。但存根並沒有完全實現所有方法,因此為了保持外掛的全部功能,開發者可能需要調整程式碼以適應新環境。
公告原文: