CVE-2026-9029: Grafana Geomap Stored XSS via Attribution Field—CVSS 7.3
A vulnerability in Grafana allows users with Editor permissions to inject malicious scripts into map panel settings. When another user views the dashboard, that script runs in their browser, potentially compromising their session, stealing credentials, or performing actions on their behalf. This is a stored attack—the malicious code persists in the dashboard configuration.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.3 HIGH · CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-22 / 2026-07-10
NVD description (verbatim)
A user with Editor permissions can place a malicious script in the attribution field of a Geomap panel's XYZ tile layer via a template variable. The script then executes in the browser of any user who views the affected dashboard (stored cross-site scripting).
1 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-9029 is a stored cross-site scripting (XSS) vulnerability in Grafana's Geomap panel. An Editor-level user can embed JavaScript in the attribution field of an XYZ tile layer using template variable syntax. The injected script executes in the browser context of any dashboard viewer, bypassing browser sandbox protections because the code originates from the trusted Grafana domain. The vulnerability requires prior authentication and Editor role assignment, but affects all subsequent viewers regardless of their permissions.
Business impact
This vulnerability creates a lateral privilege escalation and data exfiltration risk within Grafana deployments. An Editor can compromise Viewers, Admins, or other privileged users accessing shared dashboards. Attackers can harvest API tokens, modify data sources, trigger alerts, or pivot to connected systems (databases, cloud platforms, monitoring tools). In multi-tenant or federated Grafana environments, the blast radius extends across business units and integrations.
Affected systems
Grafana instances are affected. The vulnerability requires Editor role or higher to exploit. Geomap panels using XYZ tile layers with template variables in the attribution field are the attack surface. Organizations using Grafana for infrastructure monitoring, observability, or security analytics where dashboards are shared across teams face heightened risk.
Exploitability
Exploitation is straightforward for authenticated users with Editor permissions. No zero-click or authentication bypass is required—the attacker must be invited or assigned Editor access. The attack surface is wide: any Editor can modify any Geomap panel. User interaction is required (the victim must view the dashboard), but this is a normal workflow, making it difficult to detect without behavioral analysis. The CVSS score of 7.3 reflects the authentication requirement and necessary user interaction, balanced against high confidentiality and integrity impact.
Remediation
Apply a Grafana security update that sanitizes user input in Geomap panel attribution fields and enforces strict Content Security Policy (CSP) headers to prevent inline script execution. Verify that template variable expansion does not bypass HTML encoding in this context. Patched versions will be available from Grafana's vendor advisory; monitor your Grafana instance version against the published CVE details.
Patch guidance
Check your Grafana version against the vendor advisory at grafana.com/security. Upgrade to the patched version specified by Grafana. In environments where immediate patching is not feasible, restrict Editor role assignment to trusted administrators and audit existing Geomap panels for suspicious attribution field content. Consider disabling XYZ tile layers temporarily if Geomap functionality is not critical.
Detection guidance
Search Grafana dashboard JSON configurations and database records for suspicious JavaScript or encoded payloads in Geomap panel attribution fields, particularly those containing template variables with unusual syntax. Monitor browser console errors and network requests from Grafana sessions for unexpected script execution. Enable Grafana audit logging to track Editor-level modifications to Geomap panels. Correlate dashboard views with unusual API activity or token usage patterns on affected systems.
Why prioritize this
CVE-2026-9029 should be prioritized if your organization uses Grafana with shared dashboards and a distributed team of Editors. The vulnerability enables account compromise and data theft within a widely-deployed observability platform. While it requires authenticated access, Editor roles are often assigned liberally in DevOps and SRE teams, expanding the threat actor pool. The stored nature of the attack means malicious payloads persist and affect all viewers indefinitely until remediated.
Risk score, explained
The CVSS 7.3 HIGH score reflects: (1) network-accessible target (AV:N); (2) low attack complexity (AC:L)—no special conditions required; (3) low privilege requirement (PR:L)—Editor role is widely held; (4) required user interaction (UI:R)—victims must view the dashboard; (5) unchanged scope (S:U); (6) high confidentiality impact (C:H)—session hijacking, token theft; (7) high integrity impact (I:H)—malicious actions in victim's context; (8) no availability impact (A:N). The score appropriately penalizes the authentication and interaction requirements while recognizing the serious post-exploitation consequences.
Frequently asked questions
Can a Viewer role trigger this vulnerability?
No. Only users with Editor permissions or higher can inject malicious scripts into Geomap panels. Viewers can only trigger the stored XSS by opening a compromised dashboard, making them victims rather than attackers.
Does this vulnerability affect all Grafana panels?
No, only Geomap panels using XYZ tile layers are affected. The vulnerability is specific to how the attribution field is rendered when template variables are used. Other visualization types are not impacted.
How can we detect if our dashboards have been exploited?
Examine Geomap panel configurations in your dashboards for JavaScript code or suspicious syntax in attribution fields. Review Grafana audit logs for unexpected modifications to Geomap panels by Editors. Use browser developer tools to inspect the rendered attribution text for script tags or event handlers.
Is there a workaround if we cannot patch immediately?
Restrict Editor role assignments to a minimal trusted group, disable Geomap panels if not essential, and audit all existing Geomap configurations for suspicious content. These measures reduce exposure but do not eliminate the vulnerability—patching is the only complete fix.
This analysis is based on CVE-2026-9029 published on 2026-06-22 and modified 2026-07-10. Verify all patch version numbers and remediation steps against official Grafana security advisories. This vulnerability is not currently listed on the CISA KEV catalog. Organizations should test patches in non-production environments before deployment. The risk posed by this vulnerability varies based on organizational structure, role distribution, and dashboard sharing practices—tailor remediation timelines accordingly. Source: NVD (public-domain), retrieved 2026-07-29. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2016-20066HIGHWordPress CP Polls 1.0.8 Persistent XSS Vulnerability
- CVE-2016-20084HIGHWordPress Appointment-Booking-Calendar Unauthenticated XSS and Privilege Escalation
- CVE-2023-33999HIGHDOM-Based XSS in WP Mail Log Plugin – Analysis & Remediation
- CVE-2023-45795HIGHXSS in Pilz PASvisu Builder Component – Patch Guidance
- CVE-2023-45796HIGHStored XSS in Pilz PASvisu & PMI Industrial Software – Remediation Guide
- CVE-2023-54351HIGHStored XSS in WordPress Sonaar Music Plugin 4.7 – Patch & Detection Guide
- CVE-2025-11262HIGHLink Whisper Free Stored XSS Vulnerability – Analysis & Patch Guidance
- CVE-2025-14773HIGHABB T-MAC Plus XSS Vulnerability – HIGH Risk Assessment