性能文章>赶快升级!Apache Cassandra 发现远程代码执行漏洞>

赶快升级!Apache Cassandra 发现远程代码执行漏洞原创

https://a.perfma.net/img/3110416
2年前
211700

近日,JFrog安全研究团队披露了一个Apache Cassandra 远程代码执行漏洞,该漏洞极易被利用并有可能对系统造成严重破坏。

JFrog 安全研究高级主管 Shachar Menashe 表示:“新漏洞虽然不会影响 Apache Cassandra 默认安装用户,但许多 Cassandra 配置都会启用UDF,导致实例容易受到RCE 或 DoS 攻击。 因此,建议用户查看 Cassandra 配置,如果启用了 UDF,请采取适当的措施进行补救。”

事件回溯

据悉,CVE-2021-44521 的 CVSS 为 8.4,但所幸它只影响 Cassandra 的非默认配置。由于Cassandra是一个高度可扩展的分布式 NoSQL 数据库,因此使用范围相当广泛,Netflix、Twitter、Urban Airship、Constant Contact、Reddit、Cisco、OpenX、Digg、CloudKick 等都在使用。

根据JFrog安全研究团队的描述,Cassandra 提供创建用户定义函数 (UDF) 以执行数据库中数据的自定义处理功能。默认情况下,Cassandra UDF 可以用 Java 和 JavaScript 编写。在 JavaScript 中,它使用Java Runtime Environment (JRE)  中的 Nashorn 引擎 ,这是一个运行在 Java 虚拟机 (JVM) 之上的 JavaScript 引擎。在接受不信任的代码时,不能保证 Nashorn 是安全的。因此,任何允许此类行为的服务都必须将 Nashorn 执行包装在沙箱中。当安全团队研究 Cassandra UDF 沙箱时实现,发现特定(non-default) 配置选项可以让开发者滥用 Nashorn 引擎,避开沙箱并实现远程代码执行,也就是 CVE-2021-44521 漏洞。

同时,在某些非默认配置上运行 Cassandra还存在其它问题,比如cassandra.yaml 配置文件包含以下定义时,部署会出现问题。

enable_user_defined_functions: true
enable_scripted_user_defined_functions: true
enable_user_defined_functions_threads: false

如何应对

Netenrich 威胁猎手 John Bambenek 表示:“这个漏洞不像Log4j那样严重,但它也具备广泛传播的可能。虽然这个漏洞的前提条件是非默认用户配置,但这样设置的应用程序并不少见,目前我们还没有办法知道有多少应用是易受攻击的,这个漏洞很有可能会被自动漏洞扫描程序遗漏。”

开发者应该如何应对呢?安全研究团队建议Apache Cassandra 3.0.x 用户升级到 3.0.26, 3.11.x 用户升级到 3.11.12,4.0.x 用户升级到 4.0.2,这些更新版本均解决了 CVE-2021-44521。 

如果无法升级 Cassandra 实例,也可以采取一些措施。如果 UDF 没有被主动使用,可以通过将 enable_user_defined_functions 设置为 false 来禁用 UDF,如果需要 UDF,可以将 enable_user_defined_functions_threads 设置为 true。 同时,还可以通过删除以下权限来删除为不受信任的用户创建、更改和执行函数的权限:ALL FUNCTIONS、ALL FUNCTIONS IN KEYSPACE and FUNCTION for CREATE, ALTER and EXECUTE queries

 

来源:稀土掘金

原文链接:https://juejin.cn/news/7065501594359431176

点赞收藏
堆堆

【HeapDump性能社区官方小编】各位堆友们,+微信号perfMa,可以联系上堆堆哦~

请先登录,感受更多精彩内容
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步
0
0
https://a.perfma.net/img/3110416
堆堆

徽章

【HeapDump性能社区官方小编】各位堆友们,+微信号perfMa,可以联系上堆堆哦~