Metabase vient de publier des correctifs urgents après la découverte d’une injection SQL Metabase exploitée dans la nature comme une attaque zero-day. Selon l’avis de l’éditeur, la faille est d’une sévérité critique et permet à un attaquant distant, sans authentification, d’injecter des requêtes SQL arbitraires.
Concrètement, cette possibilité peut aboutir à un accès de niveau administrateur et à un enchaînement d’actions susceptibles d’exposer des données sensibles. Metabase indique également avoir bloqué rapidement les points d’entrée utilisés lors de l’attaque, puis avoir développé et déployé les correctifs.
Ce que permet l’injection SQL Metabase
La vulnérabilité affecte la base de données associée à l’application Metabase. Une fois la requête injectée, l’attaquant peut obtenir des droits élevés et modifier le fonctionnement du système.
Dans son advisory, Metabase explique qu’à partir de cet accès, l’attaquant pourrait :
- modifier la configuration de l’application ;
- voler des identifiants stockés pour les bases de données connectées ;
- lire les données accessibles via ces connexions ;
- exporter des données.
Le scénario d’attaque est donc particulièrement préoccupant : il ne s’agit pas seulement d’un risque d’exécution de code ou de divulgation isolée, mais d’un vecteur qui peut mener à la compromission d’éléments d’administration et à l’exfiltration.
Pourquoi l’incident est traité comme un zero-day
Metabase précise qu’aucun identifiant CVE n’a encore été attribué à ce problème. L’éditeur avertit aussi que la faille a été repérée après exploitation en tant que zero-day, dans le cadre d’une attaque visant Metabase Cloud.
Dans la foulée, Metabase annonce avoir bloqué les endpoints utilisés par l’acteur malveillant, puis avoir identifié et corrigé la vulnérabilité.
Mises à jour : Metabase Cloud déjà corrigé, attention au self-hébergé
Si vous utilisez Metabase Cloud, les instances concernées ont déjà été mises à jour. En revanche, pour les utilisateurs qui déploient Metabase en self-hosting, Metabase recommande d’appliquer les correctifs le plus rapidement possible, afin de réduire le temps d’exposition.
Les versions mentionnées par Metabase comme incluant les correctifs sont les suivantes : 63.5, 62.9, 61.11, 60.17, 59.21 et 58.24. Vérifiez votre version et planifiez la mise à jour sans attendre.
Travail temporaire : bloquer l’endpoint de reset_password
Lorsque le déploiement des correctifs n’est pas immédiatement possible, Metabase conseille une mesure de contournement : bloquer l’accès à l’endpoint /api/session/reset_password.
Cette recommandation est présentée comme temporaire, dans l’objectif de limiter la surface d’attaque le temps de corriger la faille. Elle s’adresse aux organisations qui ont besoin d’une action immédiate avant la mise à niveau.
Si cet endpoint est accessible depuis Internet, la séquence recommandée par Metabase est la suivante : appliquer d’abord les correctifs, puis exécuter une série de contrôles et de remédiations.
Plan de remédiation après mise à jour
Une fois les correctifs appliqués, Metabase recommande de renforcer la sécurité autour des sessions, des clés d’API et des comptes administratifs. L’objectif est double : réduire la persistance potentielle et valider que l’accès non autorisé n’a laissé aucune trace exploitable.
- Révoquer toutes les sessions utilisateur actives ;
- examiner les clés d’API et supprimer celles qui ne sont pas reconnues ;
- réviser les comptes disposant de droits administratifs ;
- faire tourner (rotater) les identifiants de toutes les bases de données connectées ;
- contrôler les journaux et l’activité enregistrée dans Metabase afin de détecter tout accès suspect.
Ces actions visent à limiter les conséquences possibles d’un accès administrateur obtenu via l’injection SQL Metabase, notamment en cas de vol d’identifiants et de configuration altérée.
Détecter une compromission : indicateurs dans les logs
Pour identifier d’éventuels compromis, Metabase recommande de surveiller un motif précis dans les journaux. Plus précisément, l’éditeur indique qu’il faut rechercher :
- un appel “POST /api/session/reset_password” avec un code de statut “400” ;
- puis un appel “GET /api/user/current” avec un code de statut “200”.
Selon Metabase, si ce schéma apparaît dans vos logs applicatifs ou dans les logs d’ingress de votre serveur Metabase, il est probable que l’instance ait été compromise.
Cette approche par corrélation de requêtes aide à repérer des tentatives d’accès cohérentes avec un abus de l’endpoint et une reprise de session ou de contexte utilisateur.
Actions recommandées dès aujourd’hui
Pour réduire le risque lié à cette injection SQL Metabase exploitée comme zero-day, Metabase met en avant une logique simple : corriger, limiter la surface, puis vérifier.
Voici un ordre d’action utile :
- Vérifiez votre version de Metabase et mettez-la à niveau vers une version corrigée (63.5, 62.9, 61.11, 60.17, 59.21 ou 58.24).
- Si la mise à jour est en attente, bloquez temporairement /api/session/reset_password.
- Après correction, révoquez les sessions, contrôlez les clés d’API, revoyez les comptes administratifs, rota(z)e les identifiants des bases connectées et examinez les logs.
- Recherchez le schéma POST reset_password (400) suivi de GET user/current (200) dans vos journaux.
En cas de signalement d’un motif suspect, il est prudent d’initier une procédure d’investigation interne (et, si nécessaire, de renforcer la surveillance), car la faille peut conduire à des accès élevés et à la lecture/export de données accessibles via les connexions existantes.
Pourquoi ce correctif est essentiel
Une vulnérabilité SQL injection critique, exploitée sans authentification, constitue un risque majeur pour toute plateforme d’analytics qui s’appuie sur des bases de données connectées. Ici, le scénario décrit par Metabase insiste sur la capacité d’un attaquant à évoluer vers un contrôle plus large : changements de configuration, récupération d’identifiants, lecture de données et export.
Autrement dit, la remédiation ne se limite pas à “installer un patch”. Elle doit s’accompagner de contrôles des accès, des secrets et de l’activité, afin de s’assurer que l’incident n’a pas laissé de portes ouvertes.
Conclusion
Metabase a publié des correctifs urgents pour une injection SQL Metabase exploitée comme zero-day. Les instances Metabase Cloud sont déjà mises à jour, tandis que les utilisateurs en self-hosting sont invités à appliquer les patchs au plus vite, avec un blocage temporaire de /api/session/reset_password si nécessaire.
Enfin, pour limiter les conséquences potentielles d’un accès administrateur, Metabase recommande de révoquer les sessions, d’inspecter les clés d’API, de vérifier les comptes, de faire tourner les identifiants des bases connectées et de contrôler les journaux à la recherche du motif caractéristique.
Source: https://www.securityweek.com/metabase-patches-vulnerability-exploited-as-zero-day/
