
CVE-2023-38646 est une vulnérabilité d'exécution de code à distance dans Metabase. Cette vulnérabilité provient d'un défaut de sécurité dans le traitement des chaînes de connexion JDBC par Metabase lors de la gestion du point d'API non authentifié `/api/setup/validate`. Un attaquant peut, en construisant une chaîne de connexion JDBC spécifique, exploiter ce point d'API pour exécuter des commandes arbitraires sur le serveur sans nécessiter d'authentification.
CVE-2023-38646 est une vulnérabilité d'exécution de code à distance dans Metabase. Cette vulnérabilité provient d'un défaut de sécurité dans le traitement des chaînes de connexion JDBC par Metabase lors du traitement du point de terminaison API non authentifié /api/setup/validate. Un attaquant peut, en construisant une chaîne de connexion JDBC spécifique, exploiter ce point de terminaison pour exécuter des commandes arbitraires sur le serveur sans avoir besoin d'authentification.
Plus précisément, l'attaquant commence par accéder à /api/session/properties pour obtenir le setup-token, puis utilise ce jeton pour envoyer une requête contenant une chaîne de connexion JDBC malveillante à /api/setup/validate. En raison du manque de validation de sécurité suffisante de Metabase pour ces requêtes, l'attaquant peut exécuter du code arbitraire dans le cadre des permissions du serveur.
L'existence de cette vulnérabilité est principalement due au fait que Metabase, lors du traitement de la configuration de connexion à la base de données, n'effectue pas une validation de sécurité stricte de la chaîne de connexion JDBC fournie par l'utilisateur, permettant ainsi à un attaquant d'exécuter du code à distance via une requête soigneusement construite.