CVE-2026-72899
CRITICAL(10.0)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
- CVSS 10 — Kritisch
Erwähnungen (letzte 60 Tage)
EPSS-Score
0.8%
Exploit-Wahrscheinlichkeit (30 Tage)
CVSS Score
10
Technische Schwere
Beschreibung
Metabase allows an unauthenticated attacker to inject arbitrary SQL via a publicly shared card or dashboard that exposes a field-filter (dimension) parameter.
Erkennung & Indikatoren
Ausnutzung
In den geprüften Quellen nicht genannt
Behobene Versionen
- x.58.24
- x.59.21
- x.60.17
- x.61.11
- x.62.9
- x.63.5
Threat-Hunting-Queries
Die Schwachstelle ermöglicht SQL-Injection über öffentlich geteilte Dashboards/Karten mit Feldfilter-Parametern. Die Detektion sollte auf ungewöhnliche SQL-Abfragen oder administrative Aktionen abzielen, die von nicht authentifizierten oder unerwarteten Quellen stammen, insbesondere im Kontext von Metabase-Anwendungen, die öffentlich zugänglich sind.
Sentinel/Defender KQL
AuditLogs
| where ServiceName == "Metabase" // Anpassen an tatsächlichen Log-Namen
| where OperationName contains "SQL" or OperationName contains "Query" or OperationName contains "Admin" // Generische Keywords
| where UserPrincipalName == "unauthenticated" or isempty(UserPrincipalName) // Oder andere Indikatoren für nicht authentifizierte Zugriffe
| where RequestUri contains "public/dashboard" or RequestUri contains "public/card" // Pfade für öffentlich geteilte Inhalte
| where HttpMethod == "POST" or HttpMethod == "GET" // Oder andere relevante HTTP-Methoden
| project TimeGenerated, OperationName, UserPrincipalName, RequestUri, HttpMethod, ClientIP, AdditionalDetailsSplunk SPL
sourcetype=metabase_logs (sql OR query OR admin) (unauthenticated OR "-") (public/dashboard OR public/card) (POST OR GET)
| table _time, user, uri, method, client_ip, actionSigma
title: Metabase Public SQLi Attempt
logsource:
product: metabase
service: application_logs # Anpassen an den tatsächlichen Log-Service
detection:
selection:
message|contains:
- 'SQL injection'
- 'arbitrary SQL'
- 'admin access'
url|contains:
- '/public/dashboard/'
- '/public/card/'
user:
- 'unauthenticated'
- 'anonymous'
condition: selection
level: criticalElastic ES|QL
FROM metabase_logs
WHERE message LIKE '%SQL injection%' OR message LIKE '%arbitrary SQL%' OR message LIKE '%admin access%'
AND url LIKE '%/public/dashboard/%' OR url LIKE '%/public/card/%'
AND user.name IN ('unauthenticated', 'anonymous')
SELECT @timestamp, message, url, user.name, source.ipSecBoard-generated · behavioral · requires customization — Von SecBoard erzeugt und nicht in einer Zielumgebung validiert. Vor dem Einsatz an die eigene Protokollierung anpassen.