CVE-2024-1313
Medium · 6.5CVSS
6.5
EPSS
0.6%
Published
Mar 26, 2024
CISA due date
—
Cloudanix analysis
Someone from another group could delete shared data snapshots they were never supposed to touch, which might erase important historical records.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Application
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Authorization logic flaw permits cross-organization DELETE requests to /api/snapshots/<key> using only the view key, bypassing intended write/edit permission checks.
Why it matters to the business
Attackers can remove historical snapshots, causing loss of visibility into past system states and potential disruption of monitoring or compliance records.
How an attack unfolds
An attacker in a separate organization obtains a target snapshot's view key, then issues a DELETE request to the snapshot endpoint; the flawed authorization treats the request as valid and deletes the snapshot.
How to fix it
Upgrade Grafana to 9.5.18, 10.0.13, 10.1.9, 10.2.6, or 10.3.5 (or later) depending on the installed branch; restrict snapshot visibility where possible until patched.
How to confirm the fix worked
Verify running version against the fixed releases; attempt cross-org snapshot deletion with a test account and confirm the request is now rejected.
Typical attack path
- Acquire snapshot view key from a different organization
- Craft and send unauthenticated DELETE request to /api/snapshots/<key>
- Bypass triggers deletion without write permission enforcement
How to detect it
Search web server and Grafana access logs for DELETE requests to /api/snapshots/ paths originating from accounts outside the snapshot owner's organization; review audit trails for unexpected snapshot removals.
- DELETE /api/snapshots/
- snapshot deletion without edit permission
What your security team should do
- Apply the listed version upgrades immediately
- Audit Grafana access logs for prior unauthorized snapshot deletions
- Limit snapshot sharing to the minimum necessary organizations
The record
It is possible for a user in a different organization from the owner of a snapshot to bypass authorization and delete a snapshot by issuing a DELETE request to /api/snapshots/<key> using its view key. This functionality is intended to only be available to individuals with the permission to write/edit to the snapshot in question, but due to a bug in the authorization logic, deletion requests issued by an unprivileged user in a different organization than the snapshot owner are treated as authorized. Grafana Labs would like to thank Ravid Mazon and Jay Chen of Palo Alto Research for discovering and disclosing this vulnerability. This issue affects Grafana: from 9.5.0 before 9.5.18, from 10.0.0 before 10.0.13, from 10.1.0 before 10.1.9, from 10.2.0 before 10.2.6, from 10.3.0 before 10.3.5.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Go | github.com/grafana/grafana | 0 | No fix |
| Go | github.com/grafana/grafana | 10.0.0 | 10.0.13 |
| Go | github.com/grafana/grafana | 10.1.0 | 10.1.9 |
| Go | github.com/grafana/grafana | 10.2.0 | 10.2.6 |
| Go | github.com/grafana/grafana | 10.3.0 | 10.3.5 |
| Go | github.com/grafana/grafana | 9.5.0 | 9.5.18 |
| AlmaLinux:8 | grafana | 0 | 9.2.10-16.el8_10 |
| AlmaLinux:8 | grafana-selinux | 0 | 9.2.10-16.el8_10 |
| AlmaLinux:9 | grafana | 0 | 9.2.10-16.el9_4.alma.1 |
| AlmaLinux:9 | grafana-selinux | 0 | 9.2.10-16.el9_4.alma.1 |
| Bitnami | grafana | 9.5.0 | 9.5.18 |
| Red Hat:enterprise_linux:8::appstream | grafana | 0 | 0:9.2.10-16.el8_10 |
| Red Hat:enterprise_linux:8::appstream | grafana-debuginfo | 0 | 0:9.2.10-16.el8_10 |
| Red Hat:enterprise_linux:8::appstream | grafana-debugsource | 0 | 0:9.2.10-16.el8_10 |
| Red Hat:enterprise_linux:8::appstream | grafana-selinux | 0 | 0:9.2.10-16.el8_10 |
| Red Hat:enterprise_linux:9::appstream | grafana | 0 | 0:9.2.10-16.el9_4 |
| Red Hat:enterprise_linux:9::appstream | grafana-debuginfo | 0 | 0:9.2.10-16.el9_4 |
| Red Hat:enterprise_linux:9::appstream | grafana-debugsource | 0 | 0:9.2.10-16.el9_4 |
| Red Hat:enterprise_linux:9::appstream | grafana-selinux | 0 | 0:9.2.10-16.el9_4 |
| Rocky Linux:8 | grafana | 0 | 0:9.2.10-16.el8_10 |
| Rocky Linux:9 | grafana | 0 | 0:9.2.10-16.el9_4 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | golang-github-prometheus-promu | 0 | 0.14.0-150000.3.18.2 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | grafana | 0 | 9.5.18-150200.3.56.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | grafana | 0 | 9.5.18-150200.3.56.1 |
| SUSE:Linux Enterprise Server 12 SP5 | golang-github-prometheus-node_exporter | 0 | 1.7.0-1.30.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | golang-github-prometheus-node_exporter | 0 | 1.7.0-1.30.2 |
| SUSE:Manager Client Tools 12 | golang-github-prometheus-alertmanager | 0 | 0.26.0-1.27.2 |
| SUSE:Manager Client Tools 12 | golang-github-prometheus-node_exporter | 0 | 1.7.0-1.30.2 |
| SUSE:Manager Client Tools 12 | golang-github-prometheus-promu | 0 | 0.14.0-1.18.1 |
| SUSE:Manager Client Tools 12 | grafana | 0 | 9.5.18-1.63.1 |
| SUSE:Manager Client Tools 12 | mgr-daemon | 0 | 4.3.9-1.47.1 |
| SUSE:Manager Client Tools 12 | spacecmd | 0 | 4.3.27-38.139.1 |
| SUSE:Manager Client Tools 12 | spacewalk-client-tools | 0 | 4.3.19-52.98.1 |
| SUSE:Manager Client Tools 12 | spacewalk-koan | 0 | 4.3.6-24.36.1 |
| SUSE:Manager Client Tools 12 | uyuni-common-libs | 0 | 4.3.10-1.39.1 |
| SUSE:Manager Client Tools 12-BETA | grafana | 0 | 9.5.18-4.30.4 |
| SUSE:Manager Client Tools 12-BETA | mgr-push | 0 | 5.0.2-4.24.5 |
| SUSE:Manager Client Tools 12-BETA | spacecmd | 0 | 5.0.6-41.51.3 |
| SUSE:Manager Client Tools 12-BETA | uyuni-common-libs | 0 | 5.0.3-3.39.3 |
| SUSE:Manager Client Tools 12-BETA | uyuni-tools | 0 | 0.1.9-3.11.4 |
| SUSE:Manager Client Tools 15 | POS_Image-Graphical7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| SUSE:Manager Client Tools 15 | POS_Image-JeOS7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| SUSE:Manager Client Tools 15 | ansible | 0 | 2.9.27-150000.1.17.2 |
| SUSE:Manager Client Tools 15 | dracut-saltboot | 0 | 0.1.1710765237.46af599-150000.1.53.2 |
| SUSE:Manager Client Tools 15 | grafana | 0 | 9.5.18-150000.1.63.2 |
| SUSE:Manager Client Tools 15 | mgr-daemon | 0 | 4.3.9-150000.1.47.2 |
| SUSE:Manager Client Tools 15 | spacecmd | 0 | 4.3.27-150000.3.116.2 |
| SUSE:Manager Client Tools 15 | spacewalk-client-tools | 0 | 4.3.19-150000.3.89.2 |
| SUSE:Manager Client Tools 15 | spacewalk-koan | 0 | 4.3.6-150000.3.33.2 |
| SUSE:Manager Client Tools 15 | uyuni-common-libs | 0 | 4.3.10-150000.1.39.2 |
| SUSE:Manager Client Tools 15 | uyuni-proxy-systemd-services | 0 | 4.3.12-150000.1.21.2 |
| SUSE:Manager Client Tools 15-BETA | grafana | 0 | 9.5.18-159000.4.33.4 |
| SUSE:Manager Client Tools 15-BETA | mgr-push | 0 | 5.0.2-159000.4.24.5 |
| SUSE:Manager Client Tools 15-BETA | spacecmd | 0 | 5.0.6-159000.6.51.4 |
| SUSE:Manager Client Tools 15-BETA | uyuni-common-libs | 0 | 5.0.3-159000.3.39.3 |
| SUSE:Manager Client Tools 15-BETA | uyuni-tools | 0 | 0.1.9-159000.3.11.5 |
| SUSE:Manager Client Tools Beta for SLE Micro 5 | golang-github-prometheus-node_exporter | 0 | 1.7.0-159000.6.5.5 |
| SUSE:Manager Client Tools Beta for SLE Micro 5 | uyuni-tools | 0 | 0.1.9-159000.3.11.5 |
| SUSE:Manager Client Tools for SLE Micro 5 | dracut-saltboot | 0 | 0.1.1710765237.46af599-150000.1.53.2 |
| SUSE:Manager Client Tools for SLE Micro 5 | uyuni-proxy-systemd-services | 0 | 4.3.12-150000.1.21.2 |
| SUSE:Manager Proxy Module 4.3 | ansible | 0 | 2.9.27-150000.1.17.2 |
| SUSE:Manager Proxy Module 4.3 | uyuni-proxy-systemd-services | 0 | 4.3.12-150000.1.21.2 |
| SUSE:Manager Tools 12 | golang-github-prometheus-alertmanager | 0 | 0.26.0-1.27.2 |
| SUSE:Manager Tools 12 | golang-github-prometheus-node_exporter | 0 | 1.7.0-1.30.2 |
| SUSE:Manager Tools 12 | golang-github-prometheus-promu | 0 | 0.14.0-1.18.1 |
| SUSE:Manager Tools 12 | grafana | 0 | 9.5.18-1.63.1 |
| SUSE:Manager Tools 12 | mgr-daemon | 0 | 4.3.9-1.47.1 |
| SUSE:Manager Tools 12 | spacecmd | 0 | 4.3.27-38.139.1 |
| SUSE:Manager Tools 12 | spacewalk-client-tools | 0 | 4.3.19-52.98.1 |
| SUSE:Manager Tools 12 | spacewalk-koan | 0 | 4.3.6-24.36.1 |
| SUSE:Manager Tools 12 | uyuni-common-libs | 0 | 4.3.10-1.39.1 |
| SUSE:Manager Tools 12-BETA | grafana | 0 | 9.5.18-4.30.4 |
| SUSE:Manager Tools 12-BETA | mgr-push | 0 | 5.0.2-4.24.5 |
| SUSE:Manager Tools 12-BETA | spacecmd | 0 | 5.0.6-41.51.3 |
| SUSE:Manager Tools 12-BETA | uyuni-common-libs | 0 | 5.0.3-3.39.3 |
| SUSE:Manager Tools 12-BETA | uyuni-tools | 0 | 0.1.9-3.11.4 |
| SUSE:Manager Tools 15 | POS_Image-Graphical7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| SUSE:Manager Tools 15 | POS_Image-JeOS7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| SUSE:Manager Tools 15 | ansible | 0 | 2.9.27-150000.1.17.2 |
| SUSE:Manager Tools 15 | dracut-saltboot | 0 | 0.1.1710765237.46af599-150000.1.53.2 |
| SUSE:Manager Tools 15 | grafana | 0 | 9.5.18-150000.1.63.2 |
| SUSE:Manager Tools 15 | mgr-daemon | 0 | 4.3.9-150000.1.47.2 |
| SUSE:Manager Tools 15 | spacecmd | 0 | 4.3.27-150000.3.116.2 |
| SUSE:Manager Tools 15 | spacewalk-client-tools | 0 | 4.3.19-150000.3.89.2 |
| SUSE:Manager Tools 15 | spacewalk-koan | 0 | 4.3.6-150000.3.33.2 |
| SUSE:Manager Tools 15 | uyuni-common-libs | 0 | 4.3.10-150000.1.39.2 |
| SUSE:Manager Tools 15 | uyuni-proxy-systemd-services | 0 | 4.3.12-150000.1.21.2 |
| SUSE:Manager Tools 15-BETA | grafana | 0 | 9.5.18-159000.4.33.4 |
| SUSE:Manager Tools 15-BETA | mgr-push | 0 | 5.0.2-159000.4.24.5 |
| SUSE:Manager Tools 15-BETA | spacecmd | 0 | 5.0.6-159000.6.51.4 |
| SUSE:Manager Tools 15-BETA | uyuni-common-libs | 0 | 5.0.3-159000.3.39.3 |
| SUSE:Manager Tools 15-BETA | uyuni-tools | 0 | 0.1.9-159000.3.11.5 |
| SUSE:Manager Tools Beta for SLE Micro 5 | golang-github-prometheus-node_exporter | 0 | 1.7.0-159000.6.5.5 |
| SUSE:Manager Tools Beta for SLE Micro 5 | uyuni-tools | 0 | 0.1.9-159000.3.11.5 |
| SUSE:Manager Tools for SLE Micro 5 | dracut-saltboot | 0 | 0.1.1710765237.46af599-150000.1.53.2 |
| SUSE:Manager Tools for SLE Micro 5 | uyuni-proxy-systemd-services | 0 | 4.3.12-150000.1.21.2 |
| Ubuntu:16.04:LTS | grafana | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | grafana | 0 | No fix |
| go | github.com/grafana/grafana | 10.0.0 | 10.0.13 |
| go | github.com/grafana/grafana | 10.1.0 | 10.1.9 |
| go | github.com/grafana/grafana | 10.2.0 | 10.2.6 |
| go | github.com/grafana/grafana | 10.3.0 | 10.3.5 |
| go | github.com/grafana/grafana | 9.5.0 | 9.5.18 |
| openSUSE:Leap 15.5 | POS_Image-Graphical7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| openSUSE:Leap 15.5 | POS_Image-JeOS7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| openSUSE:Leap 15.5 | ansible | 0 | 2.9.27-150000.1.17.2 |
| openSUSE:Leap 15.5 | dracut-saltboot | 0 | 0.1.1710765237.46af599-150000.1.53.2 |
| openSUSE:Leap 15.5 | golang-github-prometheus-promu | 0 | 0.14.0-150000.3.18.2 |
| openSUSE:Leap 15.5 | grafana | 0 | 9.5.18-150200.3.56.1 |
| openSUSE:Leap 15.5 | mybatis | 0 | 3.5.6-150200.5.6.1 |
| openSUSE:Leap 15.5 | spacecmd | 0 | 4.3.27-150000.3.116.2 |
| openSUSE:Leap 15.6 | grafana | 0 | 9.5.18-150200.3.56.1 |
| openSUSE:Leap 15.6 | mybatis | 0 | 3.5.6-150200.5.6.1 |
| openSUSE:Tumbleweed | grafana | 0 | 10.3.5-1.1 |
Related vulnerabilities
- CVE-2025-41115 Grafana Incorrect Privilege Assignment vulnerability Also affects github.com/grafana/grafana
- CVE-2025-6023 An open redirect vulnerability has been identified in Grafana OSS that can be exploited… Also affects github.com/grafana/grafana
- CVE-2025-4123 A cross-site scripting (XSS) vulnerability exists in Grafana caused by combining a client… Also affects github.com/grafana/grafana
- CVE-2024-10452 Grafana org admin can delete pending invites in different org Also affects github.com/grafana/grafana
- CVE-2024-9264 Grafana Command Injection And Local File Inclusion Via Sql Expressions Also affects github.com/grafana/grafana
- CVE-2024-6322 Access control for plugin data sources protected by the ReqActions json field of the… Also affects github.com/grafana/grafana
- CVE-2024-1442 A user with the permissions to create a data source can use Grafana API to create a data… Also affects github.com/grafana/grafana
- CVE-2023-6152 A user changing their email after signing up and verifying it can change it without… Also affects github.com/grafana/grafana