Eine kritische Sicherheitslücke, die alle Versionen der Open-Source-Plattform Grafana für Monitoring und Observabilität betrifft, wurde kürzlich auf dem Blog von fdvoid0 bekannt gegeben. Die Schwachstelle ermöglicht es durch SQL-Injection, unautorisierten Zugriff auf Daten zu erlangen.
Die Sicherheitslücke wurde in der Backend-Funktionalität von Grafana identifiziert, speziell im Umgang mit SQL-Anfragen über die API-Schnittstelle /api/ds/query
im rawSql
Parameter. Angreifer, die bereits Zugang zum Grafana-Web-Backend haben, können durch manipulierte POST-Anfragen schädliche SQL-Befehle ausführen, die zu einer zeitbasierten Blind-SQL-Injection führen können. Diese Art der SQL-Injection ermöglicht es den Angreifern, Daten aus der Datenbank unbemerkt auszulesen.
Die Sicherheitsexperten von fdvoid0 haben diese Schwachstelle als hochriskant eingestuft, da sie alle bisherigen Versionen von Grafana betrifft, einschließlich der neuesten Releases bis hin zur Version 10.4.2. Um diese Angriffe auszuführen, ist jedoch ein gültiger Account-Login für das Grafana-Backend notwendig, was das Risiko mindert.
Ein praktisches Beispiel für den Exploit zeigt, wie Angreifer den rawSql
Parameter in der POST-Anfrage modifizieren, um ihre SQL-Befehle einzuschleusen:
POST /api/ds/query HTTP/1.1
Host: 172.16.32.57:3000
...
{"queries":[{"refId":"A","format":"time_series","datasourceId":2,"rawSql":"(SELECT 8424 FROM (SELECT(SLEEP(2)))MKRN)","maxDataPoints":10000}]}
Diese Anfrage würde den Server dazu bringen, eine SQL-Operation auszuführen, die potenziell sensible Daten preisgeben kann.
Aktuell gibt es von Grafana noch keine direkte Lösung, da die Anfragen über den DataSource-Proxy nicht validiert werden. Dies bedeutet, dass eine Filterung und Validierung der Anfragen auf Seiten der Datenquelle selbst implementiert werden muss.
Nach unserer Einschätzung ergibt sich nach CVSS Metrik
Metrik | Wert | Beschreibung |
Attack Vector (AV) | Netzwerk (N) | Angriff erfolgt über das Netzwerk |
Attack Complexity (AC) | Niedrig (L) | Angriffskomplexität ist niedrig |
Privileges Required (PR) | Hoch (H) | Hohe Privilegien für den Angriff benötigt |
User Interaction (UI) | Erforderlich (R) | Benutzerinteraktion ist für den Angriff notwendig |
Scope (S) | Unverändert (U) | Angriff betrifft nur das ursprüngliche System |
Confidentiality (C) | Hoch (H) | Vollständiger Verlust der Vertraulichkeit möglich |
Integrity (I) | Hoch (H) | Vollständiger Verlust der Integrität möglich |
Availability (A) | Hoch (H) | Vollständiger Verlust der Verfügbarkeit möglich |
Base Score | ca. 1.9 | Grundlegender Schweregrad der Schwachstelle (hoch) |
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H
Dies entspricht einem theoretischen CVE Score von 6.8 Medium.
Professionelle Hilfe erwünscht?
Sentiguard ist spezialisiert auf Notfallhilfe nach Cyberattacken, IT Sicherheitsbeauftragte und IT Sicherheitskonzepte nach BSI Standard. Haben Sie Fragen und wünschen Sie unverbindliche Beratung, dann melden Sie sich gerne bei uns: