嚴重危害警告!Log4j 執行漏洞被公開!

雲叔_又拍雲發表於2021-12-16

12 月 10 日凌晨,Apache 開源專案 Log4j2 的遠端程式碼執行漏洞細節被公開,漏洞威脅等級為:嚴重。

Log4j2 是一個基於 Java 的日誌記錄工具。它重寫了 Log4j 框架,引入了大量豐富特性,讓使用者可以控制日誌資訊輸送的目的地為控制檯、檔案、GUI 元件等。同時通過定義每一條日誌資訊的級別,讓使用者能夠更加細緻地控制日誌的生成過程。

Log4j 是目前全球使用最廣泛的 java 日誌框架之一。該漏洞還影響著很多全球使用量前列的開源元件,如 Apache Struts2、Apache Solr、Apache Druid、Apache Flink 等。因為該漏洞利用方式簡單,一旦有攻擊者利用該漏洞,就可以在目標伺服器上執行任意程式碼,給被攻擊者造成極大危害。

圖片源自網際網路

漏洞細節

此次漏洞主要是 Log4j2 內含的 lookup 功能存在 JNDI 注入漏洞,該功能可以幫助開發者通過一些協議讀取相應環境中的配置。漏洞觸發方式非常簡單,只要日誌內容中包含關鍵詞 ${,那麼這裡麵包含的內容就可以作為變數進行替換,攻擊者無需任何許可權,可以執行任意命令。

漏洞復現

此次漏洞影響的版本為:Apache Log4j 2.x <= 2.14.1

同時如果您使用了以下應用,也會被此次漏洞影響:

  • Spring-Boot-strater-log4j2

  • Apache Struts2

  • Apache Solr

  • Apache Flink

  • Apache Druid

  • ElasticSearch

  • flume

  • dubbo

  • logstash

  • kafka

漏洞修復

目前廠商已經發布了新版本 log4j-2.15.0-rc2,該版本已經修復了漏洞。希望大家能夠儘快升級到新版本。

官方連結:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2

如果您暫時不方便進行版本升級,您也可以通過以下方法進行應急處理,並在方便的時候儘快完成版本升級:

  • 修改 jvm 引數 -Dlog4j2.formatMsgNoLookups=true

  • 修改配置 log4j2.formatMsgNoLookups=True

  • 將系統環境變數 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 設定為 true

無論是前年 Apach Shiro 的 cookie 持久化引數 rememberMe 加密演算法存在漏洞,還是去年 5 月的 Fastjson 遠端程式碼執行漏洞通告。網路安全似乎總是存在各種各樣的問題,但是發現漏洞並修復漏洞本身就是對安全進行的一次升級。停止不動的安全方式很快就會被攻破,只有持續不斷地更新與升級才是真正的網路安全。

推薦閱讀

CSS 盒子的邊距塌陷

熱門劇本殺與 SaaS 的不解之緣

相關文章