Grafana API IDOR

Description

Today we are releasing Grafana 8.3.5 and 7.5.14. This patch release includes MEDIUM severity security fix for Grafana Teams API IDOR.

Release v.8.3.5, only containing security fixes:

Release v.7.5.15, only containing security fixes:

Teams API IDOR(CVE-2022-21713)

On Jan. 18, an external security researcher, Kürşad ALSAN from NSPECT.IO (@nspectio on Twitter), contacted Grafana to disclose an IDOR (Insecure Direct Object Reference) vulnerability on Grafana Teams APIs.

We believe that this vulnerability is rated at CVSS 4.3 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N).

Impact

This vulnerability only impacts the following API endpoints:

  • /teams/:teamId - an authenticated attacker can view unintended data by querying for the specific team ID.
  • /teams/:search - an authenticated attacker can search for teams and see the total number of available teams, including for those teams that the user does not have access to.
  • /teams/:teamId/members - when editors_can_admin flag is enabled, an authenticated attacker can see unintended data by querying for the specific team ID.

Affected versions with MEDIUM severity

All Grafana >=5.0.0-beta1 versions are affected by this vulnerability.

Solutions and mitigations

All installations after Grafana v5.0.0-beta1 should be upgraded as soon as possible.

Appropriate patches have been applied to Grafana Cloud and as always, we closely coordinated with all cloud providers licensed to offer Grafana Pro. They have received early notification under embargo and confirmed that their offerings are secure at the time of this announcement. This is applicable to Amazon Managed Grafana.

Timeline and postmortem

Here is a detailed timeline starting from when we originally learned of the issue. All times in UTC.

  • 2022-01-18 05:000 Issue submitted by external researcher
  • 2022-01-21 17:45 Issue escalated and the vulnerability confirmed reproducible
  • 2022-01-24 13:37 CVE requested
  • 2022-01-24 14:40 Private release planned for 2022-01-25, and public release planned for 2022-02-01.
  • 2022-01-24 17:00 PR with fix opened
  • 2022-01-24 19:00 GitHub has issued CVE-2022-21713
  • 2022-01-25 12:00 Private release
  • 2022-02-01 12:00 During public release process, we realized that private 7.x release was incomplete. Abort public release, send second private release to customers using 7.x
  • 2022-02-08 13:00 Public release

Acknowledgements

We would like to thank Kürşad ALSAN from NSPECT.IO (@nspectio on Twitter) for responsibly disclosing the vulnerability.

Reporting security issues

If you think you have found a security vulnerability, please send a report to [email protected]. This address can be used for all of Grafana Labs' open source and commercial products (including, but not limited to Grafana, Grafana Cloud, Grafana Enterprise, and grafana.com). We can accept only vulnerability reports at this address. We would prefer that you encrypt your message to us by using our PGP key. The key fingerprint is

F988 7BEA 027A 049F AE8E 5CAA D125 8932 BE24 C5CA

The key is available from keyserver.ubuntu.com.

Security announcements

We maintain a security category on our blog, where we will always post a summary, remediation, and mitigation details for any patch containing security fixes.

You can also subscribe to our RSS feed.

Basic information

Type
reviewed
Severity
medium
Advisory on GitHub
Open advisory ↗
Repository advisory
Open repository advisory ↗
Source code
Browse source ↗
Published (advisory)
2024-05-14 22:17:22 UTC
Updated
2024-05-14 22:17:24 UTC
GitHub reviewed
2024-05-14 22:17:22 UTC
NVD published
2022-02-08

EPSS Score

Score Percentile
0.18% 40.38%

CVSS Scores

Base score Version Severity Vector
4.3 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:L)
A normal user session is enough; they don’t have to be admin.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:L)
Some sensitive info could get out, but not a total data dump.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:N)
Service keeps running; no real outage angle.

Identifiers

CWEs

CWE id Name
CWE-639 Authorization Bypass Through User-Controlled Key
CWE-863 Incorrect Authorization

Affected packages (2)

Vulnerable version ranges and first patched releases as published by GitHub.

Ecosystem Package Vulnerable range First patched Vulnerable functions
go github.com/grafana/grafana >= 5.0.0-beta1, < 7.5.15 7.5.15
go github.com/grafana/grafana >= 8.0.0, < 8.3.5 8.3.5

References

cvelogic Threat Intelligence