本仓库包含针对 CVE-2026-72898 的热修复,这是自托管 Metabase 实例的设置端点中存在的一个未认证 SQL 注入漏洞。
若不修补,攻击者可绕过设置令牌验证,执行任意数据库命令,并提取数据仓库凭据。
validate-setup-token 函数此前接受未经校验的用户输入,并将其直接拼接进原始 JDBC 字符串。这使得攻击者能够逃逸出 SQL 字符串并追加恶意命令。
本补丁从根本上转变验证机制,以消除 SQL 注入向量:
t2),即 Metabase 原生的对象关系映射器。crypto.equality/eq? 在应用程序内存(Clojure)中比较令牌,而非在数据库中进行比较。crypto.equality/eq? 函数以恒定时间执行,防止攻击者利用时序差异暴力破解令牌。替换 metabase.api.setup 中易受攻击的原始 jdbc/query 逻辑。
Metabase 采用 AGPL 许可证。本补丁按相同条款提供。