Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain ServiceMonitor write RBAC in watched namespace
-
DeliveryCraft ServiceMonitor with bearerTokenFile=/var/run/secrets/kubernetes.io/serviceaccount/token
-
ExploitPoint scrape target to attacker-controlled server
-
InstallAlloy reconciles and reads token file
-
C2Alloy sends token as Bearer header to attacker server
-
ExecuteCapture Kubernetes service account token
-
ImpactAuthenticate to cluster API as Alloy service account
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling File access restriction
MITRE ATT&CK
2 techniques across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a Kubernetes RBAC binding that grants the attacker create or update rights on ServiceMonitor custom resources (monitoring.coreos.com/servicemonitors) in at least one namespace actively watched by Alloy's prometheus.operator.servicemonitors component. This permission level is equivalent to a developer or namespace-admin role in many clusters, not an anonymous or unauthenticated position. The prometheus.operator.servicemonitors Alloy component must be explicitly configured and running - Alloy deployments that do not use this component are not affected. The attacker must also be able to specify or control a scrape endpoint (the target host in the ServiceMonitor) that they can observe incoming HTTP requests on, which requires either an internet-reachable server or an in-cluster service they control. Exploitation is bounded by: (1) the requirement for valid Kubernetes cluster credentials and namespace access, excluding purely external threat actors; (2) the need for ServiceMonitor write access specifically, which is not automatically granted with general namespace access; (3) the sensitivity of the stolen material being capped by Alloy's own service account RBAC rights, which vary by deployment. |
| Impact | The CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N is well-calibrated for this vulnerability. The Scope:Changed flag is the most important signal: the exploitable namespace boundary is breached because the stolen service account token operates at the cluster level. Real-world risk is strongly conditioned on Alloy's own RBAC footprint - in many Grafana stack deployments Alloy holds cluster-wide read or even write rights, which makes the stolen token far more dangerous than the PR:L prerequisite implies. EPSS data is not available in the provided intelligence, so exploitation probability cannot be quantified numerically. No CISA KEV listing and no public POC are present, indicating no confirmed widespread exploitation at time of analysis; however, the attack surface is entirely accessible to any developer-level Kubernetes user granted ServiceMonitor write access, which is common in multi-tenant clusters with GitOps workflows. The primary limiting factor is that this vulnerability sits in a Kubernetes-native deployment context rather than being internet-facing in the traditional sense: a would-be attacker must already have Kubernetes API access and namespace-level RBAC rights, which meaningfully narrows the threat actor pool. Teams running Alloy with tightly scoped RBAC and namespace isolation face lower residual risk than those granting broad ServiceMonitor permissions to application developers. |
| Exploit ScenarioDerived | An attacker with ServiceMonitor write access in a namespace watched by Alloy deploys a ServiceMonitor resource whose bearerTokenFile field points to /var/run/secrets/kubernetes.io/serviceaccount/token, with the scrape endpoint (targets field) set to an internet-accessible server the attacker controls. On Alloy's next reconciliation cycle - which occurs automatically - Alloy reads the service account token file and issues an HTTP scrape request to the attacker's server with Authorization: Bearer <token>, delivering Alloy's Kubernetes identity directly. The attacker then uses that token with kubectl or the Kubernetes REST API to impersonate Alloy's service account and interact with the Kubernetes API at whatever permission level Alloy holds, potentially reading secrets across all namespaces if Alloy has cluster-read RBAC. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Grafana Alloy's prometheus.operator.servicemonitors component exposes an arbitrary local file read path that leads to credential theft and potential Kubernetes privilege escalation. Any Kubernetes user with ServiceMonitor create or modify rights in a namespace watched by Alloy can point the bearerTokenFile field at any file accessible to the Alloy process - most critically Alloy's own projected Kubernetes service account token - and receive that file's contents exfiltrated via HTTP Bearer token to an attacker-controlled scrape endpoint. The CVSS 7.7 Scope:Changed rating correctly reflects that successful exploitation transcends the compromised namespace, potentially granting the attacker cluster-level API access commensurate with Alloy's own RBAC permissions. No public exploit has been identified at time of analysis.
RemediationAI
Apply the patched version of Grafana Alloy identified in the vendor security advisory at https://grafana.com/security/security-advisories/cve-2026-75889 - the exact fix version is not independently confirmed from the available intelligence and must be retrieved from that advisory. Until a patch is applied, the most direct compensating control is to audit and restrict Kubernetes RBAC permissions for ServiceMonitor create and modify verbs to only fully trusted principals (e.g., cluster administrators or CI/CD service accounts under change control), removing developer-level write access to ServiceMonitor resources in any namespace watched by Alloy. A secondary control is to restrict Alloy's own service account permissions to the minimum required for your observability use case, reducing the value of any stolen token. Additionally, consider mounting Alloy with a read-only root filesystem and explicitly bounding its projected service account token audience using Kubernetes boundServiceAccountTokenVolume with a short TTL, so any exfiltrated token expires rapidly. Note that restricting ServiceMonitor write access may impact GitOps or developer self-service observability workflows and should be coordinated with platform teams.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Grafana Alloy (cpe:2.3:a:grafana:alloy:*:*:*:*:*:*:*:*) is Grafana's supported distribution of a unified telemetry collector, combining Prometheus and OpenTelemetry collection with native Kubernetes operator integration. The prometheus.operator.servicemonitors component watches Kubernetes ServiceMonitor custom resources (CRDs, part of the Prometheus Operator ecosystem) to dynamically generate scrape configurations. The ServiceMonitor spec includes a bearerTokenFile field intended to reference a mounted secret or token for authenticating scrape requests. Alloy does not validate or sandbox this path - it will read any file path the field contains, provided that path is accessible to the Alloy process's filesystem and permissions. The file contents are then transmitted as an HTTP Authorization: Bearer header to whatever scrape endpoint the same ServiceMonitor specifies, which an attacker controls. This is effectively an unauthenticated Server-Side File Read (CWE not formally assigned in the advisory) chained with credential exfiltration. Kubernetes projected service account tokens, typically mounted at /var/run/secrets/kubernetes.io/serviceaccount/token, are a high-value target because they carry the identity and RBAC rights of the Alloy service account, which commonly holds broad cluster-read or cluster-admin permissions needed for service discovery.
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
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
PR:L for required ServiceMonitor RBAC write access; S:C because stolen token extends impact to cluster scope beyond the compromised namespace.
Primary rating from Vendor (GRAFANA).
CVSS VectorVendor: GRAFANA
DescriptionCVE.org
Grafana Alloy’s prometheus.operator.servicemonitors component allows a user who can create or modify ServiceMonitor resources in a watched namespace to specify an arbitrary local file through bearerTokenFile. Alloy reads the file and sends its contents as a bearer token to an attacker-controlled scrape endpoint. This may disclose files accessible to the Alloy process, including its projected Kubernetes service account token, potentially granting the attacker Alloy’s Kubernetes permissions. Exploitation requires ServiceMonitor write access and lower privileges than Alloy’s service account.
Executive ViewAI
Grafana Alloy deployments in Kubernetes environments face credential theft risk through the prometheus.operator.servicemonitors component, potentially compromising cluster-level administrative access. The vulnerability affects organizations that permit non-administrator Kubernetes users to create or modify ServiceMonitors. Without current vendor patch availability, organizations must immediately implement stricter access controls to reduce cluster compromise risk.
Restrict RBAC permissions to limit ServiceMonitor creation and modification to cluster administrators only. Enable Kubernetes audit logging to detect suspicious ServiceMonitor activity. Implement AppArmor or SELinux policies to restrict Alloy process file system access. Monitor network egress from Alloy pods for suspicious HTTP authentication token leakage. Review all existing Alloy RBAC grants and remove unnecessary cluster-level permissions. Deploy Alloy instances in isolated namespaces with minimal required permissions.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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 technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
EUVD-2026-67162
GHSA-6vgr-r2fg-p38q
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB