
Corrige une injection SQL non authentifiée dans un endpoint de configuration en remplaçant les requêtes JDBC brutes par une paramétrisation ORM et une validation de jeton à temps constant.
Ce dépôt contient le correctif pour CVE-2026-72898, une vulnérabilité d'injection SQL non authentifiée dans le point de terminaison de configuration des instances Metabase auto-hébergées.
Sans ce correctif, les attaquants peuvent contourner la validation du jeton de configuration, exécuter des commandes arbitraires sur la base de données et extraire les identifiants de l'entrepôt de données.
La fonction validate-setup-token acceptait auparavant des entrées utilisateur non validées et les concaténait directement dans une chaîne JDBC brute. Cela permettait à un attaquant de s'échapper de la chaîne SQL et d'y ajouter des commandes malveillantes.
Ce correctif modifie fondamentalement le mécanisme de validation pour neutraliser les vecteurs d'injection SQL :
t2), le mappeur objet-relationnel natif de Metabase.crypto.equality/eq? pour comparer les jetons dans la mémoire de l'application (Clojure) plutôt que dans la base de données.crypto.equality/eq? s'exécute en temps constant, empêchant les attaquants de forcer le jeton par force brute via des écarts de temporisation.Remplace la logique de requête brute vulnérable jdbc/query dans metabase.api.setup.
Metabase est sous licence AGPL. Ce correctif est fourni sous les mêmes conditions.