‧
3 分钟阅读
紧急:立即升级您的 Metabase 安装。发现与 H2 相关的远程代码执行漏洞
Metabase 团队
‧ 3 分钟阅读

分享这篇文章
TL;DR:立即升级您的 Metabase 安装。(再次强调)
我们又遇到了与 H2 相关的漏洞。我们已修补了多个漏洞,并且正在移除对 H2 作为我们支持的数据库之一。请阅读下文了解更多信息。
什么是漏洞?
核心问题在于,我们支持的一个数据仓库(嵌入式内存数据库 H2)公开了多种方式,允许连接字符串包含由运行嵌入式数据库的进程执行的代码。由于我们允许用户连接到数据库,这意味着用户提供的字符串可用于注入可执行代码。
我们允许用户在添加数据库之前(包括在设置时)验证其连接字符串。此验证 API 是使用的主要途径,因为它可以在没有验证的情况下调用。
我们之前已对用户输入进行清理,以删除允许代码执行的 init
命令。在一周的时间内,我们收到了独立安全研究人员通报的三个与 H2 连接字符串处理相关的连续漏洞。我们依次修复了这些漏洞。
出于安全考虑,Metabase 不再支持 H2 作为官方数据库
由于这些攻击的多样性以及此数据库驱动程序的使用率不高,我们正在完全删除用户添加 H2 数据库的功能。我们认为,继续在不安全的核心问题之上应用用户输入清理的权宜之计是不负责任的,因此我们正在从我们的应用程序中删除此功能。从本版本开始,您将无法添加与 H2 数据库的新连接。我们在了解到 H2 中发现的严重漏洞后做出了此决定。
重要细节
Metabase X.43 及更高版本存在风险
我们知道您刚刚升级以修补之前的漏洞,但您应再次升级以防范此额外的严重漏洞。该漏洞正在被利用,因此您应尽快升级您的 Metabase。请参阅我们的漏洞公告。
如果您是自托管的 Metabase 企业版客户
您可以访问最新的已修补版本,网址为
- JAR:https://downloads.metabase.com/enterprise/v1.53.2/metabase.jar
- Docker 镜像通过
metabase/metabase-enterprise:latest
或metabase/metabase-enterprise:v1.53.2
。
如果您是自托管的 Metabase 开源版
您可以访问最新的已修补版本,网址为
- JAR:https://downloads.metabase.com/v0.53.2/metabase.jar
- Docker 镜像通过
metabase/metabase:latest
或metabase/metabase:v0.53.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 Security Response Institute 和独立安全研究员 bluE0,报告了另一种攻击途径。
- Reginaldo Silva,报告了另一种不同的攻击途径。
- Duc Nguyen 和 Jang Nguyen(Calif.io 团队),报告了另一种攻击途径。
感谢您保持开源软件的安全。