Bug 2210840 (CVE-2023-2801)

Summary: CVE-2023-2801 grafana: data source proxy race condition
Product: [Other] Security Response Reporter: Anten Skrabec <askrabec>
Component: vulnerabilityAssignee: Nobody <nobody>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: amctagga, aoconnor, bniver, dfreiber, flucifre, gmeno, gparvin, grafana-maint, jburrell, jkurik, jwendell, mbenjamin, mhackett, nathans, njean, owatkins, pahickey, rcernich, rogbas, sostapov, stcannon, teagle, twalsh, vereddy, vkumar
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: grafana 9.4.12, grafana 9.5.3 Doc Type: ---
Doc Text:
A flaw was found in grafana. This issue occurs when sending an API call to the /ds/query or public dashboard query endpoint that has mixed queries, such as having two or more distinct data sources in one API call. As a result, the Grafana instance will crash. Currently, the only feature that uses mixed queries within Grafana is public dashboards, but it is also possible to trigger this issue by calling the API directly. If public dashboards are enabled, reproduction requires a public dashboard to be under a heavy load. If public dashboards are disabled, reproduction only occurs when the /ds/query endpoint with a mixed query payload is under a heavy load with a load testing script.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2210907, 2210908, 2210909, 2210920, 2214617    
Bug Blocks: 2209803    

Description Anten Skrabec 2023-05-29 17:50:19 UTC
CVE-2023-2801 Grafana data source proxy race condition

If you send an API call to the /ds/query or public dashboard query endpoint (if public dashboards is enabled) that has mixed queries (i.e. 2 or more distinct data sources in one API call), you can crash your Grafana instance. The only feature that uses mixed queries within Grafana right now is public dashboards, but it is also possible to cause this by calling the API directly.
Steps to reproduce
If public dashboards are enabled, just hit a public dashboard under heavy load. If public dashboards is disabled, the only way you can reproduce this is by hitting the /ds/query endpoint with a mixed query payload under heavy load with a load testing script.

Grafana 9.4.0 - Grafana 10.0

Comment 5 Avinash Hanwate 2023-06-13 15:27:02 UTC
Created grafana tracking bugs for this issue:

Affects: fedora-all [bug 2214617]

Comment 7 errata-xmlrpc 2023-12-12 13:55:29 UTC
This issue has been addressed in the following products:

  Red Hat Ceph Storage 6.1

Via RHSA-2023:7740 https://access.redhat.com/errata/RHSA-2023:7740

Comment 8 errata-xmlrpc 2023-12-12 13:56:32 UTC
This issue has been addressed in the following products:

  Red Hat Ceph Storage 6.1

Via RHSA-2023:7741 https://access.redhat.com/errata/RHSA-2023:7741