CVE-2026-75889
largeArbitrary File Read via bearerTokenFile in Grafana Alloy ServiceMonitor Component
Grafana Alloy's prometheus.operator.servicemonitors component mishandles a user-controlled bearerTokenFile field, causing Alloy to read an arbitrary local file and transmit its contents as a bearer token. An attacker who can create or modify ServiceMonitor resources in a namespace watched by Alloy can point bearerTokenFile at any file readable by the Alloy process and direct Alloy to send its contents to an attacker-controlled scrape endpoint. This can disclose sensitive files, most notably Alloy's projected Kubernetes service account token, allowing the attacker to obtain Alloy's Kubernetes API permissions and escalate privileges beyond their own role. Affected users are those running Grafana Alloy with the prometheus.operator.servicemonitors component enabled in clusters where less-privileged users hold write access to ServiceMonitor resources. There is no known in-the-wild exploitation, no public proof of concept, a low EPSS score (0.2%), and it is not listed in CISA KEV.
What to do: Upgrade Grafana Alloy to the patched release identified in the Grafana security advisory (fixed version not specified in the source data). Until patched, restrict RBAC so only trusted operators can create or modify ServiceMonitor resources in namespaces Alloy watches, and audit existing ServiceMonitors for unexpected bearerTokenFile values. Review Alloy's service account permissions and rotate its Kubernetes token if compromise is suspected.
| Grafana Labs Grafana Alloy (prometheus.operator.servicemonitors component) | — |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
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.
- Weakness
- CWE-552
- Vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
In the news0 stories
No ingested article mentions this CVE yet.