CVE-2026-9703 Overview
CVE-2026-9703 is an access control weakness in Grafana's data source proxy. The proxy failed to enforce role-based access control (RBAC) on write requests forwarded to configured Loki data sources. An authenticated user holding only the Viewer role could issue POST, PUT, and DELETE requests through the proxy to the Loki rules API at /loki/api/v1/rules. This permitted the Viewer to create, modify, and delete Loki alerting rules. Because the rules reside in Loki rather than Grafana, any change propagates to every consumer of that data source. The flaw affects both Grafana OSS and Grafana Enterprise. Loki itself is not vulnerable [CWE-284].
Critical Impact
A low-privileged Viewer account can tamper with Loki alerting rules across every user of the shared data source, undermining detection and incident response workflows.
Affected Products
- Grafana OSS
- Grafana Enterprise
- Grafana deployments with a configured Loki data source
Discovery Timeline
- 2026-10-15 - CVE-2026-9703 published to the National Vulnerability Database
- 2026-10-16 - Last updated in NVD database
Technical Details for CVE-2026-9703
Vulnerability Analysis
Grafana exposes a built-in data source proxy that forwards API calls from the Grafana UI to configured back-end data sources. The proxy is meant to enforce Grafana's own RBAC before relaying the request. For Loki data sources, the proxy correctly gated read operations but did not apply the same checks to state-changing HTTP verbs. As a result, Viewer-role users could reach Loki's ruler API through the proxy and manipulate alerting rules.
Alerting rules stored by Loki are tenant-wide. A single malicious or careless Viewer can disable detections, inject noisy rules, or drop existing rules that other teams depend on. This degrades observability and can be used to suppress alerts that would otherwise flag follow-on attacker activity [CWE-284].
Root Cause
The defect lives in Grafana's data source proxy authorization logic. The proxy evaluated access on a subset of request paths and methods but omitted enforcement for write methods targeting the Loki rules endpoint. Loki trusts the proxy and acts on the forwarded request without re-authenticating the Grafana role.
Attack Vector
Exploitation requires an authenticated Grafana Viewer account and at least one configured Loki data source. No additional privileges, user interaction, or network position beyond normal Grafana access are needed. The attacker sends a crafted POST, PUT, or DELETE request to the proxy path corresponding to the Loki data source, targeting /loki/api/v1/rules. The proxy forwards the request and Loki applies the change.
See the Grafana Security Advisory CVE-2026-9703 for upstream technical detail.
Detect Identity Attacks the Moment Authentication Fails
Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.
Stop Identity AttacksDetection Methods for CVE-2026-9703
Indicators of Compromise
- Grafana proxy access logs containing POST, PUT, or DELETE requests to paths matching /api/datasources/proxy/*/loki/api/v1/rules.
- Unexpected creation, modification, or deletion events in Loki ruler storage attributed to the Grafana service identity.
- Loki alerting rule changes performed by Grafana users whose assigned role is Viewer.
Detection Strategies
- Correlate Grafana audit events with Loki ruler API activity to identify write operations originating from non-Editor and non-Admin accounts.
- Baseline the set of users and service accounts authorized to manage Loki alerting rules and alert on deviations.
- Review Grafana HTTP access logs for state-changing verbs targeting any data source proxy route that normally serves read-only queries.
Monitoring Recommendations
- Forward Grafana server, audit, and reverse-proxy logs to a centralized analytics platform for longitudinal review.
- Enable Loki ruler change notifications or diff tracking to detect silent rule removals.
- Alert on any Loki alerting rule set that unexpectedly shrinks or whose evaluation count drops to zero.
How to Mitigate CVE-2026-9703
Immediate Actions Required
- Upgrade Grafana OSS and Grafana Enterprise to the fixed versions listed in the vendor advisory.
- Audit Loki alerting rules for unauthorized additions, modifications, or deletions since the vulnerable version was deployed.
- Review Grafana user role assignments and remove unnecessary Viewer accounts that have access to sensitive data sources.
Patch Information
Grafana Labs has published fixed releases and remediation guidance in the Grafana Security Advisory CVE-2026-9703. Loki does not require patching; the fix is contained within Grafana's data source proxy.
Workarounds
- Restrict the Loki data source to dedicated Grafana organizations where only trusted users hold Viewer or higher roles.
- Place an authenticating reverse proxy in front of Loki that denies POST, PUT, and DELETE requests to /loki/api/v1/rules unless they originate from approved administrative tooling.
- Disable the Loki ruler API in environments that do not require Grafana-managed alerting rules.
# Example reverse-proxy rule (nginx) blocking write methods to the Loki ruler API
location /loki/api/v1/rules {
limit_except GET {
deny all;
}
proxy_pass http://loki-upstream;
}
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

