Cloudanix VulnDB

CVE-2024-6322

Medium · 5.4

CVSS

5.4

EPSS

0.3%

Published

Aug 20, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A permission check meant to protect certain data connections could be skipped when a user already had access to any other connection, letting the wrong people reach information they should not see.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
High
Impact
Privilege Gain
Component
Application
Class
Authorization Bypass
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The ReqActions check in plugin.json is not scoped per datasource, allowing any account with query access to one data source to bypass protections on another.

Why it matters to the business

Attackers with limited access can reach additional data sources, increasing risk of unauthorized data exposure or modification across the environment.

How an attack unfolds

An attacker first obtains query access to any single data source, then issues requests against a protected plugin datasource; because the authorization check is not datasource-specific the ReqActions restriction is ignored and the query succeeds.

How to fix it

Upgrade to a version that enforces datasource-scoped ReqActions checks; until then restrict service-account permissions to the minimum required datasources.

How to confirm the fix worked

Review plugin.json configurations and test that accounts with access to one datasource cannot query any other datasource they lack explicit rights to.

Typical attack path

  1. Gain query access to at least one data source
  2. Identify a second datasource protected by ReqActions
  3. Submit query using existing credentials
  4. Bypass per-datasource authorization due to missing scope check

How to detect it

Search authentication and query logs for accounts accessing multiple distinct datasources in rapid succession or for queries against plugin datasources that previously returned access-denied responses.

What your security team should do

  • Audit all service accounts for excessive datasource grants
  • Apply the vendor patch that restores per-datasource scoping
  • Add runtime authorization tests that verify datasource isolation

The record

Access control for plugin data sources protected by the ReqActions json field of the plugin.json is bypassed if the user or service account is granted associated access to any other data source, as the ReqActions check was not scoped to each specific datasource. The account must have prior query access to the impacted datasource.

Affected packages

Ecosystem Package Introduced Fixed
Go github.com/grafana/grafana 0 No fix
Go github.com/grafana/grafana 0.0.0-20240521130516-0072e4a92d89 0.0.0-20240725142242-c326d865c58b
Go github.com/grafana/grafana 1.9.2-0.20240521130516-0072e4a92d89 1.9.2-0.20240725142242-c326d865c58b
Go github.com/grafana/grafana 11.1.0 11.1.1
Go github.com/grafana/grafana 11.1.2 11.1.3
Bitnami grafana 11.1.0 11.1.1
Bitnami grafana 11.1.0 11.1.3
Chainguard grafana-11.1 0 11.1.3-r0
Chainguard grafana-11.1-oci-compat 0 11.1.3-r0
Chainguard grafana-oci-compat 0 11.1.3-r0
Ubuntu:16.04:LTS grafana 0 No fix
Ubuntu:Pro:16.04:LTS grafana 0 No fix
Wolfi grafana-11.1 0 11.1.3-r0
Wolfi grafana-11.1-oci-compat 0 11.1.3-r0
Wolfi grafana-oci-compat 0 11.1.3-r0
go github.com/grafana/grafana 0.0.0-20240521130516-0072e4a92d89 0.0.0-20240725142242-c326d865c58b
go github.com/grafana/grafana 11.1.0 No fix
go github.com/grafana/grafana 11.1.0 11.1.1
go github.com/grafana/grafana 11.1.2 No fix
go github.com/grafana/grafana 11.1.2 11.1.3

Related vulnerabilities