Apache Cassandra資料庫曝出高危級RCE安全漏洞

語言: CN / TW / HK

日前,JFrog的研究人員披露在Apache Cassandra資料庫中發現高嚴重性安全漏洞(CVE-2021-44521),如果不加以解決,該漏洞可幫助惡意人員在受影響的計算裝置上獲得遠端程式碼執行(RCE)許可權。

Apache Cassandra是一個應用廣泛的開源分散式NoSQL資料庫管理系統,用於跨商用伺服器管理大量結構化資料。該漏洞體現在Cassandra的非預設配置中,由於Cassandra提供了建立使用者定義函式(UDF)的功能,允許使用者對資料庫中的資料執行自定義處理。管理員可以使用Java和JavaScript來編寫UDF。

在JavaScript中,它使用了Java執行時環境(JRE)中的Nashorn 引擎;接受不可信賴的程式碼時,就無法保證該引擎的安全。JFrog的研究人員發現,使用者定義函式(UDF)的配置被啟用後,惡意人員就可以利用Nashorn 引擎逃逸沙箱,並遠端執行程式碼。

目前,Cassandra的開發團隊已針對UDF執行實施了一個自定義沙箱,該沙箱使用兩種機制來限制UDF程式碼。研究發現,當cassandra.yaml配置檔案含有以下定義時,就有可能被利用:

  • enable_user_defined_functions:true
  • enable_scripted_user_defined_functions:true
  • enable_user_defined_functions_threads:false

研究人員表示:“當[enable_user_defined_functions_threads]選項設定為false時,所有呼叫的UDF函式都在Cassandra守護程式執行緒中執行,該執行緒具有某些許可權的安全管理器,從而允許對手禁用安全管理器並打破沙箱及在伺服器上執行任意shell命令。”

據瞭解,Apache已經發布了版本3.0.26、3.11.12和4.0.2來應對該漏洞,新版本中添加了一個新標誌“allow_extra_insecure_udfs”(預設設定為false),可以防止關閉安全管理器,並且禁止對java.lang.System進行訪問。企業組織需要儘快進行版本升級,避免漏洞造成更大危害。

參考連結:

https://securityaffairs.co/wordpress/128079/breaking-news/apache-cassandra-rce.html