CVE-2022-35957: Authentication Bypass in Grafana via auth proxy allowing escalation from admin to server admin
A flaw was found in the grafana package. Auth proxy allows authentication of a user by only providing the username (or email) in an X-WEBAUTH-USER HTTP header. The trust assumption is that a front proxy will take care of authentication and that the Grafana server is only publicly reachable with this front proxy.
Other sources
Auth proxy allows to authenticate a user by only providing the username (or email) in an X-WEBAUTH-USER HTTP header: the trust assumption is that a front proxy will take care of authentication and that the Grafana server is publicly reachable only with this front proxy.
Datasource proxy breaks this assumption: - It is possible to configure a fake datasource pointing to a localhost Grafana install with an X-WEBAUTH-USER HTTP header containing the admin username - This fake datasource can be called publicly via this proxying feature
— Red Hat
Grafana is an open-source platform for monitoring and observability. Versions prior to 9.1.6 and 8.5.13 are vulnerable to an escalation from admin to server admin when auth proxy is used, allowing an admin to take over the server admin account and gain full control of the grafana instance. All installations should be upgraded as soon as possible. As a workaround deactivate auth proxy following the instructions at: https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/auth-proxy/
Today we are releasing Grafana 9.1.6, 9.0.9, 8.5.13. This patch release includes a Moderate severity security fix for CVE-2022-35957 that affects Grafana instances which are using Grafana Auth Proxy.
Release 9.1.6, latest patch, also containing security fix:
- Download Grafana 9.1.6 - Release notes
Release 9.0.9, only containing security fix:
- Download Grafana 9.0.9 - Release notes
Release 8.5.13, only containing security fix:
- Download Grafana 8.5.13 - Release notes
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 and Azure's Grafana as a service offering.
Privilege escalation (CVE-2022-35957)
Summary
On August 9 an internal security review identified a vulnerability in the Grafana which allows an escalation from Admin privileges to Server Admin when Auth proxy authentication is used.
Auth proxy allows to authenticate a user by only providing the username (or email) in a X-WEBAUTH-USER HTTP header: the trust assumption is that a front proxy will take care of authentication and that Grafana server is publicly reachable only with this front proxy.
Datasource proxy breaks this assumption: - it is possible to configure a fake datasource pointing to a localhost Grafana install with a X-WEBAUTH-USER HTTP header containing admin username. - This fake datasource can be called publicly via this proxying feature.
The CVSS score for this vulnerability is 6.6 Moderate (CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H).
Impacted versions
All Grafana installations where the Auth Proxy is used.
Solutions and mitigations
To fully address CVE-2022-35957 please upgrade your Grafana instances. They are only required if you are using Auth proxy. If you can’t upgrade, as an alternative, you can deactivate the auth proxy.
Appropriate patches have been applied to Grafana Cloud.
Timeline
Here is a timeline starting from when we originally learned of the issue.
2022-08-09: Vulnerability is reported as a result of an Internal security audit. 2022-08-09: Release timeline determined: 2022-09-06 for private customer release, 2022-09-20 for public release. 2022-08-09: Confirmed that Grafana Cloud is not impacted. 2022-09-06: Private release. 2022-09-20: Public release.
Reporting security issues
If you think you have found a security vulnerability, please send a report to security@grafana.com. 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.
— GitHub
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/grafanato a version that resolves this vulnerability.Fixed in 0:9.0.9-2.el9 - Upgrade
Upgrade
go/github.com/grafana/grafanato a version that resolves this vulnerability.Fixed in 8.5.13 - Upgrade
Upgrade
go/github.com/grafana/grafanato a version that resolves this vulnerability.Fixed in 9.0.9 - Upgrade
Upgrade
go/github.com/grafana/grafanato a version that resolves this vulnerability.Fixed in 9.1.6 - Upgrade
Upgrade
redhat/grafanato a version that resolves this vulnerability.Fixed in 9.1.6 - Upgrade
Upgrade
redhat/grafanato a version that resolves this vulnerability.Fixed in 9.0.9 - Upgrade
Upgrade
redhat/grafanato a version that resolves this vulnerability.Fixed in 8.5.13 - Upgrade
Upgrade
grafanato a version that resolves this vulnerability.Fixed in 8.5.13 - Upgrade
Upgrade
grafanato a version that resolves this vulnerability.Fixed in 9.0.9 - Upgrade
Upgrade
grafanato a version that resolves this vulnerability.Fixed in 9.1.6 - Configuration
As a workaround when you can’t upgrade to versions that address CVE-2022-35957, deactivate Grafana Auth Proxy per the Auth Proxy deactivation instructions at the Grafana documentation.
Grafana Auth Proxy Auth Proxy = deactivate
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is CVE-2022-35957?
CVE-2022-35957 is a vulnerability in the grafana package that allows an authenticated admin user to escalate privileges to server admin and gain full control of the grafana instance.
Which versions of grafana are affected by CVE-2022-35957?
Versions prior to 9.1.6 and 8.5.13 of grafana are affected by CVE-2022-35957.
How can an admin exploit CVE-2022-35957?
An admin can exploit CVE-2022-35957 by using auth proxy and escalating their privileges to server admin, gaining full control of the grafana instance.
What is the severity of CVE-2022-35957?
CVE-2022-35957 has a severity value of 6.6, which is considered medium.
Is there a fix available for CVE-2022-35957?
Yes, upgrading to version 9.1.6 or 8.5.13 of grafana will fix the vulnerability CVE-2022-35957.