SQL-Injection in allen Grafana-Versionen möglich

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

MetrikWertBeschreibung
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 Scoreca. 1.9Grundlegender 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.

Related Posts

DNS Cache Poisoning

DNS-Cache-Poisoning, auch bekannt als DNS-Spoofing, ist ein Angriffstyp, bei dem ein Angreifer falsche Einträge in den DNS-Cache eines DNS-Servers einschleust. Diese falschen Einträge führen dazu, dass Nutzer, die versuchen, eine legitime Website zu erreichen, stattdessen auf eine vom Angreifer kontrollierte bösartige Seite umgeleitet werden. Dies kann dazu benutzt werden, um persönliche Daten zu stehlen, Malware zu verbreiten oder den Datenverkehr zu überwachen. Der Angriff nutzt Sicherheitslücken im DNS-Protokoll aus, um den Cache des Servers mit gefälschten Adresszuweisungen zu „vergiften“.

Read More

Sicherheitslücke in GitLab und GitHub ermöglicht Malware-Verbreitung über CDN

Eine kürzlich von BleepingComputer aufgedeckte Sicherheitslücke in den Plattformen GitHub und nun auch GitLab zeigt, wie Cyberkriminelle durch eine sogenannte “GitHub-artige CDN-Schwachstelle” Malware verteilen können. Diese Schwachstelle erlaubt es Angreifern, über die Kommentarfunktion schädliche Software zu verbreiten.

Read More

Laravel: Diebstahl der Datenbank Credentials möglich

Eine hochriskante Sicherheitslücke wurde in verschiedenen Versionen des beliebten Laravel Frameworks entdeckt, die es Angreifern ermöglicht, sensible Datenbankzugangsdaten auszuspähen. Die Schwachstelle, bekannt unter CVE-2024-29291, betrifft die Versionen 8.* bis 11.* und hat bereits zu Besorgnis in der Entwicklergemeinschaft geführt.

Read More