CVE-2021-39226
Description
Grafana is an open source data visualization platform. In affected versions unauthenticated and authenticated users are able to view the snapshot with the lowest database key by accessing the literal paths: /dashboard/snapshot/:key, or /api/snapshots/:key. If the snapshot "public_mode" configuration setting is set to true (vs default of false), unauthenticated users are able to delete the snapshot with the lowest database key by accessing the literal path: /api/snapshots-delete/:deleteKey. Regardless of the snapshot "public_mode" setting, authenticated users are able to delete the snapshot with the lowest database key by accessing the literal paths: /api/snapshots/:key, or /api/snapshots-delete/:deleteKey. The combination of deletion and viewing enables a complete walk through all snapshot data while resulting in complete snapshot data loss. This issue has been resolved in versions 8.1.6 and 7.5.11. If for some reason you cannot upgrade you can use a reverse proxy or similar to block access to the literal paths: /api/snapshots/:key, /api/snapshots-delete/:deleteKey, /dashboard/snapshot/:key, and /api/snapshots/:key. They have no normal function and can be disabled without side effects.
Summary dbcve.org
Grafana's snapshot API contains an Insecure Direct Object Reference (IDOR) vulnerability allowing attackers to access and delete snapshots by iterating through sequential database keys. Unauthenticated users can view snapshots via /dashboard/snapshot/:key or /api/snapshots/:key, and if public_mode is enabled, can also delete them. Authenticated users can delete any snapshot regardless of public_mode setting.
Mitigation
Upgrade to Grafana 8.1.6 or 7.5.11, or alternatively deploy a reverse proxy to block the vulnerable paths: /api/snapshots/:key, /api/snapshots-delete/:deleteKey, /dashboard/snapshot/:key.