‧
阅读时间:3分钟
紧急:立即升级您的Metabase安装。发现H2相关的远程代码执行漏洞
Metabase 团队
‧ 阅读时间:3分钟
分享这篇文章
TL;DR:立即升级您的 Metabase 安装。(再次)
我们再次发现了与 H2 相关的安全漏洞。我们修复了一些漏洞,并将移除 H2 作为我们支持的数据库之一。更多信息请见下文。
漏洞是什么?
核心问题是我们的支持的数据仓库(一个嵌入内存数据库 H2)暴露出多种方式,使连接字符串可以包含由运行嵌入式数据库的进程执行的代码。因为我们允许用户连接到数据库,这意味着用户提供的字符串可以被用来注入可执行代码。
我们允许用户在添加数据库(包括在设置过程中)之前验证他们的连接字符串。此验证API是主要使用的工具,因为它可以在不进行验证的情况下调用。
我们之前已经对用户输入进行了清理,以移除允许代码执行的init
命令。在一周内,我们收到了独立安全研究人员报告的三个与H2连接字符串处理相关的连续漏洞。我们逐一修复了这些问题。
由于安全问题,Metabase不再支持H2作为官方数据库。
鉴于这些攻击的多样性和此数据库驱动程序的缺乏使用,我们将完全移除用户添加H2数据库的能力。我们认为,在解决一个不安全的核心问题之上继续使用用户输入清理的临时措施是不负责任的,因此我们已从我们的应用程序中删除此功能。从这次版本开始,您将无法添加新的H2数据库连接。我们是在了解到H2中发现的重大漏洞后做出这一决定的。
重要细节
Metabase X.43及以上版本存在风险
我们知道您刚刚升级以修复之前的漏洞,但您应该再次升级以防止这种额外的严重漏洞。该漏洞已在野外,因此您应尽快升级Metabase。请参阅我们的安全公告。
如果您是自托管的Metabase Enterprise客户
您可以在以下位置访问最新的修补版本:
- JAR:https://downloads.metabase.com/enterprise/v1.51.2/metabase.jar
- Docker镜像通过
metabase/metabase-enterprise:latest
或metabase/metabase-enterprise:v1.51.2
。
如果您自托管Metabase的开源版本
您可以在以下位置访问最新的修补版本:
- JAR:https://downloads.metabase.com/v0.51.2/metabase.jar
- Docker镜像通过
metabase/metabase:latest
或metabase/metabase:v0.51.2
。
如果您正在运行旧版本(43、44或45)
升级到
请参阅Metabase版本和我们的升级文档。
如果您正在使用Metabase版本低于0.43的版本
您不受此漏洞的影响。然而,自那时以来,已经有许多其他安全和错误修复,我们强烈建议您尽快升级到最新版本。
如果您是Metabase Cloud客户
我们已阻止受影响的端点,并正在为您的Metabase实例应用最新补丁。我们还在仔细审计我们的所有系统以防止未经授权的访问。
如果您将H2用作Metabase的应用程序数据库
您不受影响。漏洞仅限于H2的初始连接和设置,这是嵌入式H2数据库不暴露的攻击面。
如果您在生产中使用H2数据库,我们建议切换到另一个数据库
如果您已经有一个连接到H2数据库的连接,您仍然可以使用Metabase连接到该数据库。但我们强烈建议您将数据从H2数据库迁移到另一个数据库。
感谢AssetNote、Qing、Reginaldo和Calif发现并通知我们这些漏洞
最后,感谢我们的安全研究人员和社区中的其他人帮助我们找到这些漏洞。
荣誉归功于
- Shubham Shah 和 Maxwell Garrett 在 Assetnote,因发现初始漏洞。
- Chaitin 安全响应研究院 和独立安全研究员 bluE0,因报告另一个攻击向量。
- Reginaldo Silva,因另一个不同的攻击向量。
- Duc Nguyen 和 Jang Nguyen 来自 Calif.io 团队,因另一个攻击向量。
感谢您保持开源软件的安全。