In der offenen Datenvisualisierungsplattform Grafana wurde eine Sicherheitsanfälligkeit (CVE-2021-43798) entdeckt, die es ermöglicht, über das Basisverzeichnis hinaus zu gelangen und auf beliebige Dateien im lokalen Dateisystem des Servers zuzugreifen, abhängig von den Zugriffsrechten des Benutzers, unter dem Grafana ausgeführt wird. Das Problem resultiert aus einem fehlerhaften Verhalten des Pfadhandlers „/public/plugins//“, wo die Verwendung der Zeichen „..“ zum Zugriff auf übergeordnete Verzeichnisse zulässig war.
Eine Schwachstelle kann ausgenutzt werden, indem man auf die URL vorinstallierter Plugins zugreift, wie "\/public\/plugins\/graph\/", "\/public\/plugins\/mysql\/" und "\/public\/plugins\/prometheus\/" (insgesamt sind etwa 40 Plugins vorinstalliert). Um beispielsweise auf die Datei \/etc\/passwd zuzugreifen, konnte die Anfrage "\/public\/plugins\/prometheus\/..\/..\/..\/..\/..\/..\/..\/..\/etc\/passwd" gesendet werden. Um mögliche Spuren der Ausnutzung zu identifizieren, wird empfohlen, nach dem Muster ".." in den Logs des HTTP-Servers zu suchen.

Das Problem trat ab Version 8.0.0-beta1 auf und wurde in den Versionen Grafana 8.3.1, 8.2.7, 8.1.8 und 8.0.7 behoben. Allerdings wurden zwei weitere ähnliche Sicherheitsanfälligkeiten (CVE-2021-43813, CVE-2021-43815) entdeckt, die ab den Versionen Grafana 5.0.0 und Grafana 8.0.0-beta3 auftraten, welche es authentifizierten Grafana-Nutzern ermöglichten, auf beliebige Dateien im System mit den Erweiterungen „.md“ und „.csv“ (die Dateinamen nur in Klein- oder Großbuchstaben) zuzugreifen, durch Manipulation der Zeichen „..“ in den Pfaden „/api/plugins/.* /markdown/.*“ und „/api/ds/query“. Um diese Schwachstellen zu beheben, wurden die Updates Grafana 8.3.2 und 7.5.12 erstellt.
Quelle: opennet.ru
