Apache Cassandra數據庫曝出高危級RCE安全漏洞
日前,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