Apache Cassandra數(shù)據(jù)庫曝出高危級RCE安全漏洞
日前,JFrog的研究人員披露在Apache Cassandra數(shù)據(jù)庫中發(fā)現(xiàn)高嚴重性安全漏洞(CVE-2021-44521),如果不加以解決,該漏洞可幫助惡意人員在受影響的計算設備上獲得遠程代碼執(zhí)行(RCE)權限。
Apache Cassandra是一個應用廣泛的開源分布式NoSQL數(shù)據(jù)庫管理系統(tǒng),用于跨商用服務器管理大量結構化數(shù)據(jù)。該漏洞體現(xiàn)在Cassandra的非默認配置中,由于Cassandra提供了創(chuàng)建用戶定義函數(shù)(UDF)的功能,允許用戶對數(shù)據(jù)庫中的數(shù)據(jù)執(zhí)行自定義處理。管理員可以使用Java和JavaScript來編寫UDF。
在JavaScript中,它使用了Java運行時環(huán)境(JRE)中的Nashorn 引擎;接受不可信賴的代碼時,就無法保證該引擎的安全。JFrog的研究人員發(fā)現(xiàn),用戶定義函數(shù)(UDF)的配置被啟用后,惡意人員就可以利用Nashorn 引擎逃逸沙箱,并遠程執(zhí)行代碼。
目前,Cassandra的開發(fā)團隊已針對UDF執(zhí)行實施了一個自定義沙箱,該沙箱使用兩種機制來限制UDF代碼。研究發(fā)現(xiàn),當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時,所有調(diào)用的UDF函數(shù)都在Cassandra守護程序線程中運行,該線程具有某些權限的安全管理器,從而允許對手禁用安全管理器并打破沙箱及在服務器上運行任意shell命令。”
據(jù)了解,Apache已經(jīng)發(fā)布了版本3.0.26、3.11.12和4.0.2來應對該漏洞,新版本中添加了一個新標志“allow_extra_insecure_udfs”(默認設置為false),可以防止關閉安全管理器,并且禁止對java.lang.System進行訪問。企業(yè)組織需要盡快進行版本升級,避免漏洞造成更大危害。
參考鏈接:
https://securityaffairs.co/wordpress/128079/breaking-news/apache-cassandra-rce.html