日前,JFrog 研究人员公开披露了 Apache Cassandra 数据库软件中现已修补的高严重性安全漏洞 ( CVE-2021-44521 ) 的详细信息,远程攻击者可以利用该漏洞在受影响的安装上执行代码。
Apache Cassandra是一套开源分布式数据库管理系统,由Facebook开发,用于储存特别大的数据,是目前数千家公司都在使用的开源 NoSQL 分布式数据库。
通过对JFrog 的安全研究团队最近披露分析。“这个 Apache 安全漏洞很容易被利用,并且有可能对系统造成严重破坏,但幸运的是,它只体现在 Cassandra 的非默认配置中。”
Cassandra 提供了创建用户定义函数 (UDF) 的功能,允许对数据库中的数据执行自定义处理。管理员可以使用 Java 和 JavaScript 编写 UDF。在 JavaScript 中,它利用了 Java 运行时环境 (JRE) 中的Nashorn 引擎,当接受不受信任的代码时,它不能保证是安全的
研究人员发现,当启用用户定义函数 ( UDF ) 的配置时,威胁参与者可以利用 Nashorn 引擎逃离沙箱并实现远程代码执行。
目前,Cassandra 的开发团队已针对 UDF 执行实施了一个自定义沙箱,该沙箱使用两种机制来限制 UDF 代码。研究发现,当 cassandra.yaml 配置文件包含以下定义时,利用是可能的:
enable_user_defined_functions:true
enable_scripted_user_defined_functions:true
enable_user_defined_functions_threads:false
研究人员表示:“当该选项设置为 false 时,所有调用的 UDF 函数都在 Cassandra 守护线程中运行,该线程具有具有某些权限的安全管理器。我们将展示如何滥用这些权限来实现沙盒逃逸和 RCE。”
据了解,Apache 已经发布了3.0.26 、3.11.12 和 4.0.2 版本来解决该漏洞,它添加了一个新标志“allow_extra_insecure_udfs”,默认设置为false,它可以防止关闭安全管理器并阻止对 java.lang 的访问。
建议尽快进行版本升级,避免受该漏洞影响!
参考链接:
https://securityaffairs.co/wordpress/128079/breaking-news/apache-cassandra-rce.html