🔴 严重 | CVE-2026-50148 — Metabase is an open-source business intelligence a...
🔴 【深度分析】严重安全漏洞:CVE-2026-50148
CVSS 评分: 严重(10.0)🔴 状态: Undergoing Analysis 发布时间: 2026-07-15
🔍 技术细节速览
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-50148 |
| CVSS 评分 | 10.0 🔴 |
| 严重程度 | 严重 |
| CVSS 向量 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| CWE 分类 | CWE-73 |
| 发布时间 | 2026-07-15 |
| 最后更新 | 2026-07-20 |
| 状态 | Undergoing Analysis |
| 数据来源 | security-advisories@github.com |
CVSS 评分: 10.0 (CRITICAL)
CVSS 向量:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H远程攻击者可通过低复杂度攻击实现完全控制服务器的风险,代表 CVSS 最高威胁等级。
漏洞概述
CVE-2026-50148 是 Metabase(一款流行的开源商业智能与嵌入式分析工具)中一个极其严重的远程代码执行(RCE)漏洞。该漏洞存在于 Metabase 的 Snowflake 数据库连接配置功能中。经过身份验证的用户(具备数据库连接添加或编辑权限)可以通过配置一个指向攻击者控制服务器的恶意 Snowflake 连接,利用 Snowflake JDBC 驱动程序中的缺陷,在 Metabase 服务器上实现任意文件写入。攻击者可以替换 Metabase 自身的数据库驱动文件,这些文件随后会在 Metabase 进程内部执行,从而达成远程代码执行。
影响范围: Metabase 多个版本线(1.54.x - 1.60.x)中特定版本区间。
危害等级: 紧急 🔴
受影响组件与版本
受影响的 Metabase 版本范围如下:
| 版本线 | 受影响起始版本 | 受影响结束版本 | 修复版本 |
|---|---|---|---|
| 1.54.x | 1.54.0 | < 1.54.24 | 1.54.24 |
| 1.55.x | 1.55.0 | < 1.55.24 | 1.55.24 |
| 1.56.x | 1.56.0 | < 1.56.25 | 1.56.25 |
| 1.57.x | 1.57.0 | < 1.57.19 | 1.57.19 |
| 1.58.x | 1.58.0 | < 1.58.14 | 1.58.14 |
| 1.59.x | 1.59.0 | < 1.59.10 | 1.59.10 |
| 1.60.x | 1.60.0 | < 1.60.4 | 1.60.4 |
受影响的组件:
- Metabase 核心服务:数据库连接配置模块
- Snowflake JDBC 驱动:用于连接 Snowflake 数据源的 JDBC 驱动程序
漏洞原理分析
技术成因
该漏洞的成因涉及两个关键环节:
Snowflake JDBC 驱动缺陷(CWE-73:文件名路径控制不当)
- Snowflake JDBC 驱动程序在处理特定连接配置参数时,存在一个未充分验证的文件路径参数。攻击者控制的服务器可以向 Metabase 发送包含恶意文件名的响应,从而触发驱动尝试写入或覆盖服务器上的文件。
- 该缺陷允许攻击者指定任意文件路径,从而将内容写入文件系统的任意位置。
Metabase 组件替换机制
- Metabase 在运行时动态加载数据库驱动程序(例如 JDBC JAR 文件)以连接到各种数据库。这些驱动程序以文件形式存储在服务器的特定目录中。
- 利用 Snowflake JDBC 驱动的缺陷,攻击者可以在 Snowflake 连接配置期间,将攻击者提供的恶意 JAR 文件写入 Metabase 的数据库驱动目录,从而替换或添加新的驱动文件。
- 当 Metabase 加载这些驱动时,恶意 JAR 文件中的代码会在 Metabase 的 Java 进程中执行,实现远程代码执行。
攻击向量
根据 CVSS 向量 AV:N/AC:L/PR:N/UI:N/S:C:
- 攻击向量 (AV:N):攻击可以通过网络远程进行,无需物理访问。
- 攻击复杂度 (AC:L):攻击过程不复杂,没有特殊条件需要满足(如时间窗口或配置依赖),漏洞利用高度可靠。
- 权限要求 (PR:N):攻击者无需任何现有权限即可利用。但根据漏洞描述,需要 Metabase 用户具备"添加或编辑数据库连接"的权限,这表明在 Metabase 内部,权限要求较低。
- 用户交互 (UI:N):攻击过程不需要其他用户参与,攻击者可独立完成。
典型攻击步骤:
- 攻击者获取 Metabase 中具有数据库连接管理权限的账户(可通过社工或内部威胁获得)。
- 攻击者配置一个"Snowflake"数据库连接,将主机参数指向攻击者控制的服务器(例如
attacker-controlled.com)。 - 当 Metabase 尝试建立连接时,Snowflake JDBC 驱动程序向攻击者控制的服务器发送请求。
- 攻击者服务器响应恶意数据包,其中包含特定参数(可能利用 JDBC URL 中的连接属性或响应流),触发驱动写入任意文件。
- 恶意文件被写入 Metabase 的驱动程序目录(例如
/opt/metabase/plugins/),覆盖或添加新的数据库驱动。 - Metabase 在下次加载驱动时,执行恶意 JAR 文件中的代码,实现远程代码执行。
现有信息不足以确定的关键点
由于漏洞仍处于 Undergoing Analysis 状态,以下技术细节需要等待官方进一步披露:
- 具体的 JDBC URL 参数:触发文件写入的特定属性名称(如
client_info、connection_properties或自定义选项)。 - 写入路径控制机制:攻击者如何精确控制写入的目标路径(绝对路径 vs 相对路径,是否通过路径穿越
../实现)。 - 驱动加载时机:是否需要在连接建立时立即触发,还是在后续使用时触发。
影响评估
严重程度
| 维度 | 评估 | 说明 |
|---|---|---|
| 攻击复杂度 | 低 | 攻击者只需配置一个恶意连接,无需复杂的网络或环境条件 |
| 所需权限 | 低 | 仅需具备数据库连接管理权限(通常授予数据工程师/分析师) |
| 利用稳定性 | 高 | 攻击过程可靠,不需要猜测或依赖外部条件 |
| 影响范围 | 变更(Scope: Changed) | 攻击可能从数据库层面扩散到主机系统,超出原始资源边界 |
| 潜在后果 | 完全控制 | 机密性、完整性和可用性均完全丧失(C:H/I:H/A:H) |
实际威胁
- 攻击面: 暴露在互联网上的 Metabase 实例,且存在用户具有数据库连接管理权限。
- 利用门槛: 中等。虽然需要权限,但许多组织将数据库连接管理权限授予了数据分析师,这降低了攻击门槛。
- 潜在损失: 攻击者可以完全接管 Metabase 服务器,窃取所有访问过的数据库凭据、数据,甚至将 Metabase 作为在内网横向移动的跳板。
修复建议
官方补丁
Metabase 已经在以下版本中修复了该漏洞:
- 1.54.24
- 1.55.24
- 1.56.25
- 1.57.19
- 1.58.14
- 1.59.10
- 1.60.4
强烈建议所有受影响用户立即升级到对应的修复版本。 升级是唯一已知的完全解决方案。
临时缓解措施(升级前)
如果无法立即升级,可以采取以下缓解措施,降低风险:
限制数据库连接管理权限
- 严格审查并限制具有"添加/编辑数据库连接"权限的用户范围。仅授予必要的管理员或受信任的工程师。
- 使用 Metabase 的权限系统限制敏感操作。
网络隔离
- 限制 Metabase 服务器到外网的出站连接。配置防火墙规则,仅允许到已知的数据库端点(如 internal-db.example.com)的连接。
- 阻止 Metabase 服务器到未知或非业务所需外部主机的出站连接。
禁用 Snowflake 连接
- 如果业务不需要使用 Snowflake,可以在 Metabase 中禁用该数据库类型的支持。尽管这可能影响功能,但能立即消除此攻击向量。
文件系统监控
- 部署文件完整性监控(FIM)工具,监控 Metabase 的驱动程序目录(例如
/opt/metabase/plugins/)以及关键系统目录的变更。 - 如果检测到未知文件的写入,立即进行调查。
- 部署文件完整性监控(FIM)工具,监控 Metabase 的驱动程序目录(例如
使用应用安全工具
- 部署 Web 应用防火墙(WAF)并配置检测规则,识别并阻止异常的数据库连接配置请求(如包含可疑 JDBC URL 属性)。
长期修复策略
- 将 Metabase 升级到最新稳定版本。
- 重构数据库连接配置流程,对 JDBC URL 或连接属性进行严格的输入验证和白名单过滤。
- 定期审查 Metabase 的安全公告(Part of security-advisories@github.com)。
参考资料
| 资源 | 链接 |
|---|---|
| CVE 官方详情页 | https://nvd.nist.gov/vuln/detail/CVE-2026-50148 |
| CWE-73 缺陷分类(文件名路径控制不当) | https://cwe.mitre.org/data/definitions/73.html |
| Metabase 安全公告 | https://github.com/metabase/metabase/security/advisories |
| NVD 数据库 | https://nvd.nist.gov/ |
时间线
| 日期 | 事件 |
|---|---|
| 2026-07-15 | CVE 公开,漏洞状态设为 Undergoing Analysis |
| 不晚于修复版本发布日期 | Metabase 发布安全更新修复此漏洞 |
此分析基于 NVD 公开数据。由于漏洞仍在分析中,部分技术细节可能随官方公告更新而调整。建议持续关注 Metabase 官方安全公告。