Summary
Today we are releasing Grafana 8.3.2 and 7.5.12. This patch release includes a moderate severity security fix for directory traversal for arbitrary .csv files. It only affects instances that have the developer testing tool called TestData DB data source enabled and configured.
The vulnerability is limited in scope, and only allows access to files with the extension .csv to authenticated users only.
This is a follow-up patch release to our recent CVE-2021-43798 release. If you haven’t read about that high severity security fix, we recommend that you review the initial blog post, along with our update on the 0day.
Given the attention CVE-2021-43798 has brought, there’s a risk that additional researchers will find CVE-2021-43813. Out of an abundance of caution and given that both CVE-2021-43813 and CVE-2021-pending are only CVSS Score 4.3 Moderate CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N through their limited scope we are immediately releasing to the public, and on a Friday.
We identified several vulnerability issues in the last few weeks, and at a higher rate than in the years before. The infosec industry usually comes together after a few CVEs and we benefit from that extra scrutiny. Although it can be difficult, ultimately it's for the overall benefit of Grafana and the community. Please know that this is a top priority for us. We are spending significant resources on this in the remainder of 2021 already, including full outside assessment. We will continue and increase this investment in 2022 and beyond.
Release 8.3.2, only containing security fixes:
Release 7.5.12, only containing security fixes:
Directory Traversal CVE-2021-43815
CVSS Score: 4.3 Moderate CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
On 2021-12-09, GitHub Security Labs notified us of a vulnerability through which authenticated users could read out fully lowercase or fully uppercase .md files through directory traversal. Doing our own follow-up investigation we found a related vulnerability through which authenticated users could read out arbitrary .csv files through directory traversal. Thanks to our defense-in-depth approach, at no time has Grafana Cloud been vulnerable.
The vulnerable URL path is: /api/ds/query
Affected versions with moderate severity
CVE-2021-43815: Grafana 8.0.0-beta3 - 8.3.1
Solutions and mitigations
All installations between 5.0.0 and 8.3.1 should be upgraded as soon as possible.
If you can not upgrade, running a reverse proxy in front of Grafana that normalizes the PATH of the request will mitigate the vulnerability. The proxy will have to also be able to handle url encoded paths.
Thanks to our defense-in-depth approach, Grafana Cloud instances have not been affected by the vulnerability.
Timeline and postmortem
Here is a detailed timeline starting from when we originally learned of the issue. All times in UTC.
- 2021-12-09 16:07: As part of investigation of the CVE-2021-43813 we have discovered that .csv files are affected and can be read out via /api/ds/query
- 2021-12-09 16:10: PR with a possible fix the markdown path traversal is raised in private mirror repo
- 2021-12-09 19:05: Fix confirmed
- 2021-12-09 23:00: Decision release to direct to public on 2021-12-10 14:30 UTC
- 2021-12-09 23:36: Announcement email sent to customers
- 2021-12-10 10:11: Decision to split out
.csvvulnerability into its own CVE
Acknowledgement
We would like to thank the GitHub Security Lab team for responsibly disclosing CVE-2021-43813 to us.
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.
Impact
Input manipulates file paths to reach files outside the intended directory, such as configuration or credential files. Typical impact: unauthorized file read or write outside the intended directory.
CVE-2021-43815 has a CVSS score of 4.3 (Medium). The vector is network-reachable, low privileges required, and no user interaction. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (8.3.2); upgrading removes the vulnerable code path.
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Remediation advice
Kodem Kai can prioritize this vulnerability in your dependency tree and generate a fix recommendation.
Frequently Asked Questions
- What is CVE-2021-43815? CVE-2021-43815 is a medium-severity path traversal vulnerability in github.com/grafana/grafana (go), affecting versions >= 8.0.0-beta3, <= 8.3.1. It is fixed in 8.3.2. Input manipulates file paths to reach files outside the intended directory, such as configuration or credential files.
- How severe is CVE-2021-43815? CVE-2021-43815 has a CVSS score of 4.3 (Medium). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
- Which versions of github.com/grafana/grafana are affected by CVE-2021-43815? github.com/grafana/grafana (go) versions >= 8.0.0-beta3, <= 8.3.1 is affected.
- Is there a fix for CVE-2021-43815? Yes. CVE-2021-43815 is fixed in 8.3.2. Upgrade to this version or later.
- Is CVE-2021-43815 exploitable, and should I be worried? Whether CVE-2021-43815 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether CVE-2021-43815 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix CVE-2021-43815? Upgrade
github.com/grafana/grafanato 8.3.2 or later.