日前,安全廠商向Apache官方報告了Apache Log4j2遠程代碼執行漏洞。由於Apache Log4j2某些功能存在遞歸解析功能,攻擊者可直接構造惡意請求,觸發遠程代碼執行漏洞。
根據廠商描述,Apache Log4j2目前仍在傳播利用中,在此提醒校園網用戶盡快安裝補丁阻止漏洞攻擊,做好資產自檢和預防工作,以免遭受攻擊。由於該漏洞影響範圍極廣,建議廣大校園網用戶及時排查相關漏洞。
一、漏洞情況分析
Apache Log4j2是一個基於Java的日誌記錄工具。該工具重寫了Log4j框架,並且引入了大量豐富的特性。該日誌框架被大量用於業務係統開發,用來記錄日誌信息。大多數情況下,開發者可能會將用戶輸入導致的錯誤信息寫入日誌中。此次漏洞觸發條件為隻要外部用戶輸入的數據會被日誌記錄,即可造成遠程代碼執行。
二、漏洞影響範圍
目前受影響的版本: Apache Log4j 2.x <= 2.15.0-rc1(目前因更新補丁存在繞過風險,受影響版本不再限於2.14.1以下)
由於Apache Log4j2在JAVA應用中使用量大,目前已知受影響的組件應用有:Apache Solr,Apache Flink,Apache Druid
三、解決方案
排查方法:到服務器搜索排查Java應用是否引入 log4j-api , log4j-core 兩個jar包,影響版本:Apache Log4j 2.x <= 2.14.1
修複建議:
1.升級Apache Log4j2所有相關應用到最新的log4j-2.15.0-rc1版本,地址https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2(經廠商測試log4j-2.15.0-rc1目前存在繞過風險,請更新最新版本rc2);
2、升級已知受影響的應用及組件,如srping-boot-strater-log4j2/Apache Solr/Apache Flink/Apache Druid
緩解措施:
(1). jvm參數-Dlog4j2.formatMsgNoLookups=true
(2). log4j2.formatMsgNoLookups=True
(3).係統環境變量FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS設置為true
參考資料
[1] https://github.com/apache/logging-log4j2
[2] https://github.com/apache/logging-log4j2/commit/7fe72d6