Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain RBAC write access to GrafanaDashboard or LibraryPanel CRDs
-
DeliveryCraft jsonnet expression with path traversal to service account token
-
ExploitSubmit malicious resource via Kubernetes API
-
InstallOperator manager evaluates jsonnet in pod context
-
C2Path traversal reads /var/run/secrets/kubernetes.io/serviceaccount/token
-
ExecuteExfiltrate token from dashboard output
-
ImpactAuthenticate to Kubernetes API with elevated operator privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must hold Kubernetes RBAC permissions to create or update either GrafanaDashboard (grafanadashboards) or GrafanaLibraryPanel (grafanalibrarypanels) resources in the grafana.integreatly.org API group, version v1beta1. This is the sole prerequisite - the jsonnet feature is enabled by default in all affected versions and requires no special operator configuration to be active. Exploitation is not possible without this RBAC grant: a fully unprivileged cluster user cannot trigger the vulnerable code path. The limiting factors are: (1) the attacker must have namespace-scoped or cluster-scoped create/update RBAC on the specified CRD resources, and (2) the Grafana Operator manager pod must be running in the target cluster. External attackers without Kubernetes API access cannot exploit this directly. The CVSS 4.0 vector PR:L confirms that low-privilege authenticated Kubernetes access - not administrative rights - is sufficient. |
| Impact | The vendor-provided CVSS 4.0 score of 6.4 with vector CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N accurately captures the attack architecture: the vulnerable system (the CRD object itself) sustains no direct impact, but the subsequent system - the operator manager pod and the Kubernetes cluster it controls - suffers high confidentiality and integrity compromise. PR:L (low privileges required) reflects the realistic gating factor: only users with RBAC create/update rights on the specific CRD resources can exploit this. In multi-tenant Kubernetes environments where dashboard creation is delegated to developers or tenant users, this is a plausible and serious threat. AC:L and AT:N indicate the exploit requires no special race conditions or chaining, lowering the bar for exploitation once RBAC access is present. No EPSS score is available in the provided data, no CISA KEV listing exists, and no public POC has been identified, so widespread opportunistic exploitation is not currently observed. Real-world priority is HIGH for clusters where CRD write permissions are broadly granted, and MEDIUM for tightly controlled environments. The scope of post-exploitation impact depends on the operator service account's RBAC bindings, which in typical deployments are cluster-scoped. |
| Exploit ScenarioDerived | An attacker who holds Kubernetes RBAC permissions to create GrafanaDashboard resources submits a manifest with a crafted spec.jsonnetLib expression that uses jsonnet's native file import or string manipulation to read /var/run/secrets/kubernetes.io/serviceaccount/token from the operator manager pod's filesystem and embed its contents in the resulting dashboard JSON. The Grafana Operator manager evaluates the jsonnet and stores or surfaces the output, allowing the attacker to retrieve the service account token - then use it to authenticate directly to the Kubernetes API server and perform actions with the operator's elevated cluster-scoped privileges. No public POC is known at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 13, 2026
Privilege escalation in Grafana Operator (all versions ≤ 5.23) allows any user with Kubernetes RBAC permissions to create GrafanaDashboard or GrafanaLibraryPanel resources to steal the Kubernetes service account token of the operator manager pod. The jsonnet templating language, supported via spec.jsonnetLib, is evaluated unsandboxed inside the operator manager pod, enabling a path traversal payload to read sensitive files - including the mounted service account token - and exfiltrate it through the resulting dashboard output. No public exploit is identified at time of analysis, but successful exploitation yields cluster-level privilege escalation, reflected in the vendor-assigned CVSS 4.0 subsequent-system impact of SC:H/SI:H.
RemediationAI
The primary fix is to upgrade the Grafana Operator to version 5.24.0, which contains the security patch. All installations should upgrade as soon as possible per vendor guidance. Where immediate upgrade is not feasible, deploy the ValidatingAdmissionPolicy provided in the vendor advisory, which blocks creation or modification of any GrafanaDashboard or GrafanaLibraryPanel resource containing a spec.jsonnetLib field using the CEL expression !has(object.spec.jsonnetLib). The trade-off of this workaround is that all legitimate jsonnet-based dashboard workflows will be blocked until the policy is removed after upgrading. As an additional defensive layer, review and tighten Kubernetes RBAC to restrict which users, service accounts, or namespaces can create or update grafanadashboards and grafanalibrarypanels resources in the grafana.integreatly.org API group - reducing the pool of principals who can reach the vulnerable code path. The full ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding YAML is available in the vendor advisory at https://grafana.com/security/security-advisories/cve-2026-11769.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 5 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The Grafana Operator is a Kubernetes operator (CPE: cpe:2.3:a:grafana:grafana_operator:*:*:*:*:*:*:*:*) that manages Grafana instances via custom resource definitions including GrafanaDashboard and GrafanaLibraryPanel in the grafana.integreatly.org/v1beta1 API group. The operator supports jsonnet - a data templating language - specified in the spec.jsonnetLib field of these CRDs to enable dynamic dashboard generation. Critically, jsonnet evaluation is performed in-process within the operator manager pod rather than in an isolated sandbox. This creates a path traversal condition (conceptually CWE-22, though the reporter lists CWE as N/A) where a crafted jsonnet expression can read arbitrary files from the pod's filesystem, including the Kubernetes service account token typically mounted at /var/run/secrets/kubernetes.io/serviceaccount/token. That token carries the RBAC permissions of the operator's service account, which by design must be elevated to manage cluster-wide Grafana resources.
Know when Grafana gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
Network vector via Kubernetes API; PR:L for required CRD write RBAC; scope change because operator pod token theft affects the broader cluster.
Primary rating from Vendor (GRAFANA).
CVSS VectorVendor: GRAFANA
DescriptionCVE.org
We have released version 5.24.0 of the Grafana Operator. This patch includes a CRITICAL severity security fix for a path traversal/privilege escalation vulnerability in the Grafana Operator.
Summary
The Grafana Operator supports loading dashboards & library panels using the jsonnet data templating language. The jsonnet expression is evaluated in the context of the operator manager pod.
Impact
It is possible for a malicious user who can create Dashboard or LibraryPanel resources for a Grafana instance to obtain the Kubernetes service account token of the Grafana Operator manager.
Affected versions
All Grafana Operator versions <= 5.23
Solutions and mitigations
All installations should be upgraded as soon as possible.
As a workaround, the following ValidatingAdmissionPolicy prevent the creation or modification of jsonnet based resources:
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingAdmissionPolicy
metadata:
name: "prevent-jsonnet-dashboards"
spec:
failurePolicy: Fail matchConstraints: resourceRules:
- apiGroups: ["grafana.integreatly.org"]
apiVersions: ["v1beta1"] operations: ["CREATE", "UPDATE"] resources: ["grafanadashboards", "grafanalibrarypanels"] validations:
- expression: "!has(object.spec.jsonnetLib)"
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingAdmissionPolicyBinding
metadata:
name: "prevent-jsonnet-dashboards-clusterwide"
spec:
policyName: "prevent-jsonnet-dashboards" validationActions: [Deny]
Acknowledgement
We would like to thank Artem Cherezov for responsibly disclosing the vulnerability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
The SQL Expressions experimental feature of Grafana allows for the evaluation of `duckdb` queries containing user input.
The `Release PR Merged` workflow in the github repo taosdata/grafanaplugin is subject to a command injection vulnerabili
An issue was discovered in Grafana through 7.3.4, when integrated with Zabbix. Rated critical severity (CVSS 9.8), this
A signature verification vulnerability exists in crewjam/saml. Rated critical severity (CVSS 9.8), this vulnerability is
Grafana 2.x, 3.x, and 4.x before 4.6.4 and 5.x before 5.2.3 allows authentication bypass because an attacker can generat
Authentication bypass in Grafana OnCall through 1.16.11 lets unauthenticated remote attackers mint a valid PluginAuthTok
Insertion of sensitive information in the centralized (Grafana) logging system in ProLion CryptoSpike 3.0.15P2 allows re
A cross-site scripting (XSS) vulnerability exists in Grafana caused by combining a client path traversal and open redire
The avatar feature in Grafana 3.0.1 through 7.0.1 has an SSRF Incorrect Access Control issue. Rated high severity (CVSS
Grafana is an open-source platform for monitoring and observability. Rated high severity (CVSS 7.5), this vulnerability
Grafana 8.4.3 allows unauthenticated access via (for example) a /dashboard/snapshot/*?orgId=0 URI. Rated high severity (
Grafana 8.4.3 allows reading files via (for example) a /dashboard/snapshot/%7B%7Bconstructor.constructor'/.. Rated high
Same weakness CWE-22 – Path Traversal
View allSame technique Privilege Escalation
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-36641
GHSA-fcw4-wwqm-m8cf
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB