一、漏洞概述
近日,绿盟科技CERT监测到Metabase远程代码执行漏洞(CVE-2023-37470)。由于对CVE-2023-38646的漏洞修复存在缺陷,攻击者可通过H2连接字符串注入实现远程代码执行。请受影响的用户尽快采取措施进行防护。
Metabase是一个开源的数据分析和可视化工具,用户可通过该工具链接到各种数据源,包括关系型数据库、NoSQL数据库、云服务和文件。它还提供了丰富的数据查询和可视化功能,使用户能够探索和理解数据,生成各种图表、报表和仪表盘。
参考链接:
https://github.com/metabase/metabase/security/advisories/GHSA-p7w3-9m58-rq83
二、影响范围
- 受影响范围
开源版:
- Metabase < 0.46.6.4
- Metabase < 0.45.4.3
- Metabase < 0.44.7.3
- Metabase < 0.43.7.3
企业版:
- Metabase < 1.46.6.4
- Metabase < 1.45.4.3
- Metabase < 1.44.7.3
- Metabase < 1.43.7.3
- 不受影响范围
开源版:
- Metabase >=46.6.4
- Metabase >= 0.45.4.3
- Metabase >= 0.44.7.3
- Metabase >= 0.43.7.3
企业版:
- Metabase >= 1.46.6.4
- Metabase >= 1.45.4.3
- Metabase >= 1.44.7.3
- Metabase >= 1.43.7.3
三、漏洞利用检测
在Metabase日志或负载平衡器/反向代理日志中搜索任何返回状态码400的/API/setup/validate的API调用。在Metabase实例的生命周期中,应该只调用该端点一次,因此在此之后不应该有任何其他调用。如果端点在任何其他时间被调用,则应该考虑已被利用,并且需要立即采取相应措施。
四、漏洞防护
- 官方升级
目前官方已发布新版本修复该漏洞,建议受影响的用户尽快更新防护:
https://github.com/metabase/metabase/releases
- 临时防护措施
如果由于某种原因无法立即升级,则可以通过阻止以下端点在网络层阻止这些漏洞,直到能够升级为止。
POST /api/database
PUT /api/database/:id
POST /api/setup/validate
注意:
- 阻止这些端点将阻止用户向Metabase添加新的数据库连接。
- 以上操作仅阻止了PUT和POST,仍然可以向这些端点发送GET请求,GET请求与漏洞无关,若阻止Metabase将无法工作。
- 如使用H2作为基于文件的数据库,建议您迁移到SQLite。
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。