Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-72898-metabase-sqli — Detektor + Root-Cause-Analyse für CVE-2026-72898 (Metabase unauthenticated SQLi via reset_password) | Kitploit
Tools/GitHubGitHub/d-maggipinto/cve-2026-72898-metabase-sqli
SchwachstellenscannerSchwachstellenanalyseExploitationWebsicherheitPenetrationstests
GitHubd-maggipinto/cve-2026-72898-metabase-sqli

CVE-2026-72898-metabase-sqli

Detektor + Root-Cause-Analyse für CVE-2026-72898 (Metabase unauthenticated SQLi via reset_password)

Repository anzeigen
vor 18h 1mNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-72898 — Metabase unauthentifizierte SQL-Injection (Detektor + Analyse)

CVE CVSS CISA KEV Product Type Auth License

Unauthentifizierte SQL-Injection in Metabase über POST /api/session/reset_password. CVSS 10.0, im CISA-KEV-Katalog, wird in freier Wildbahn ausgenutzt.

Ein nicht deklariertes Feld im Passwort-Reset-Request-Body erreicht die Anwendungsdatenbank- Benutzersuche als HoneySQL-Struktur statt als validierte Kennung. Ein JSON-Objekt- Schlüssel wird zu einem Clojure-Keyword, sodass {"raw": "<SQL>"} zu HoneySQLs -Klausel kompiliert und ausgegeben wird — beliebiges SQL gegen die Metabase-Anwendungsdatenbank, ohne Authentifizierung.

:raw
wörtlich, unparametrisiert

Dieses Repository enthält einen Detektor (ein blindes, zeitbasiertes Bewertungswerkzeug) und eine Ursachenanalyse, die aus dem Hersteller-Patch abgeleitet wurde. Es richtet sich an Verteidiger, die ihre eigene Gefährdung überprüfen, und an Sicherheitsforscher, die den Fehler untersuchen. Es exfiltriert keine Daten und bietet keinen bewaffneten Admin-Übernahme-Exploit.

  • cve-2026-72898.py — versionsgeprüfter, fail-closed Detektor (VULN / SAFE / UNTESTED)
  • TECHNICAL.md — vollständige Ursachenanalyse aus dem v0.63.2 → v0.63.15-Patch-Diff
  • lab/docker-compose.yml — eine verwundbare + gepatchte Instanz zur Reproduktion

Demo

CVE-2026-72898 Detektor-Demo

Der Detektor meldet VULN gegen eine betroffene Instanz und SAFE gegen eine gepatchte — und UNTESTED (niemals ein falsches SAFE), wenn eine Anfrage gedrosselt, zwischengespeichert oder nie die App erreicht. Eine Aufzeichnung ist auch als asciinema-Cast verfügbar.

Betroffene / behobene Versionen

BranchVerwundbarBehoben
0.58 / 1.58< 0.58.240.58.24
0.59 / 1.59< 0.59.210.59.21
0.60 / 1.60< 0.60.170.60.17
0.61 / 1.61< 0.61.110.61.11
0.62 / 1.62< 0.62.90.62.9
0.63 / 1.63< 0.63.50.63.5

Advisory: GHSA-vwf4-m7j8-wcjf. Wenn Sie eine betroffene Version ausführen, aktualisieren Sie jetzt — dies wird in freier Wildbahn ausgenutzt.

Das Primitive

root@kitploit:~
POST /api/session/reset_password HTTP/1.1
Content-Type: application/json

{"token":"1_00000000-0000-0000-0000-000000000000",
 "password":"Placeholder1!",
 "user-id":{"raw":"<ARBITRARY SQL>"}}

ergibt in der Anwendungsdatenbank:

root@kitploit:~
SELECT id, ... FROM core_user WHERE id = (<ARBITRARY SQL>)

Der Fehler ist blind — der Reset-Ablauf verschluckt SQL-Fehler und gibt in jedem Fall eine identische 400 {"errors":{"password":"Invalid reset token"}} zurück — daher verwendet der Detektor ein Timing-Orakel. Siehe TECHNICAL.md für den vollständigen Datenfluss und den Patch-Diff.

Verwendung

root@kitploit:~
python3 cve-2026-72898.py https://metabase.example.com                    # H2-App-DB (Standard)
python3 cve-2026-72898.py https://metabase.example.com --engine postgres  # pg_sleep-Orakel
python3 cve-2026-72898.py https://metabase.example.com --json --trials 5

Exit-Code 0 = VULN, 1 = SAFE oder UNTESTED.

Warum es fail-closed ist

Bewertungen sind VULN / SAFE / UNTESTED — niemals „wahrscheinlich in Ordnung". Das Werkzeug:

  • weigert sich, außerhalb des betroffenen Versionsbereichs zu feuern (ein Negativ dort beschreibt die Version, nicht den Exploit) — --force überschreibt dies absichtlich;
  • rotiert X-Forwarded-For pro Anfrage, da der Reset-Endpunkt bei 10 Versuchen drosselt und die Drosselungsantwort ein schnelles 400 ist, das sonst ein Negativ vortäuscht;
  • verwendet ein H2-Orakel (sum(x) über SYSTEM_RANGE), das die Engine nicht wegoptimieren kann, und verlangt, dass die Verzögerung sowohl eine absolute Untergrenze als auch die eigene Timing-Streuung der Kontrolle übersteigt;
  • klassifiziert eine ratenbegrenzte, zwischengespeicherte oder transportfehlerhafte Anfrage als UNTESTED, nicht als SAFE.

Reproduktion

root@kitploit:~
cd lab
docker compose up -d          # 3300 = verwundbar v0.63.2, 3301 = gepatcht v0.63.15
# ~90s auf die Erstinitialisierung der DB warten
python3 ../cve-2026-72898.py http://127.0.0.1:3300                 # -> VULN
python3 ../cve-2026-72898.py http://127.0.0.1:3301 --force         # -> SAFE

Verifiziert: v0.63.2 zeigt eine 8+ Sekunden-Differenz, die linear mit der Payload-Zeilenanzahl skaliert (5M→0.85s, 10M→1.96s, 20M→4.61s, 40M→7.97s); v0.63.15 zeigt keine Differenz.

Verantwortungsvolle Nutzung

Testen Sie nur Systeme, die Sie besitzen oder für die Sie ausdrücklich autorisiert sind. Unbefugter Zugriff auf Computersysteme ist in den meisten Rechtsordnungen illegal. Dieses Werkzeug erkennt die Schwachstelle mit einer harmlosen Timing-Sonde und liest, modifiziert oder exfiltriert absichtlich keine Daten.

Lizenz

MIT — siehe LICENSE.

Tool herunterladen