CVE-2024-6322
Medium · 5.4CVSS
5.4
EPSS
0.3%
Published
Aug 20, 2024
CISA due date
—
Cloudanix analysis
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
- Gain query access to at least one data source
- Identify a second datasource protected by ReqActions
- Submit query using existing credentials
- 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
- CVE-2025-41115 Grafana Incorrect Privilege Assignment vulnerability Also affects github.com/grafana/grafana
- CVE-2025-6023 An open redirect vulnerability has been identified in Grafana OSS that can be exploited… Also affects github.com/grafana/grafana
- CVE-2025-4123 A cross-site scripting (XSS) vulnerability exists in Grafana caused by combining a client… Also affects github.com/grafana/grafana
- CVE-2024-10452 Grafana org admin can delete pending invites in different org Also affects github.com/grafana/grafana
- CVE-2024-9264 Grafana Command Injection And Local File Inclusion Via Sql Expressions Also affects github.com/grafana/grafana
- CVE-2024-1313 It is possible for a user in a different organization from the owner of a snapshot to… Also affects github.com/grafana/grafana
- CVE-2024-1442 A user with the permissions to create a data source can use Grafana API to create a data… Also affects github.com/grafana/grafana
- CVE-2023-6152 A user changing their email after signing up and verifying it can change it without… Also affects github.com/grafana/grafana