Stored XSS in the Geomap panel tile-layer attribution
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).
Noroxi analysis
No Noroxi analysis for this record yet
We don't hand-write analysis for the hundreds of thousands of vulnerabilities in the database; that wouldn't be honest. For notable, high-impact vulnerabilities our team writes the mechanism, detection and remediation steps.
We use this product, ask for help- Published
- Jun 22, 2026
- Updated
- Aug 27, 2026
- EPSS
- 0.3% · 22th percentile
- CWE
- CWE-79
Sign in to follow · You’ll be notified if a followed record enters KEV, gets an exploit or is updated.
Report tools
Action score
21
Monitor
Low priority for now.
- CVSS
- 21 / 40 · 5.4 / 10
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 0 / 30 · 0.3%
CISA SSVC decision
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
Vulnrichment: CISA's decision-tree inputs.
CNA vs NVD score
- NVD
- 5.4
- CNA · GRAFANA
- 7.3
- 1.9 point gap
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N
The score given by the assigning authority versus NVD’s independent score. A gap means the severity is contested.
Affected systems
| Vendor | Product | CPE |
|---|---|---|
| grafana | grafana | cpe:2.3:a:grafana:grafana |
Affected versions
NVD version ranges (for catalog products). Add the product to your stack with a version and matching uses these.
- grafana grafana12.4.0
Versions reported by the vendor
Affected version ranges reported by the assigning authority (GRAFANA). Independent of NVD's CPE analysis and usually ahead of it.
Grafana Grafana OSS
- 12.4.0 and later · up to and including 12.4.3affected · semver
- 13.0.0 and later · up to and including 13.0.1affected · semver
Package-level exposure
OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.
| Ecosystem | Package | Affected range | Fix |
|---|---|---|---|
| Go | github.com/grafana/grafana | from 13.0.0 | — |
| Go | github.com/grafana/grafana | from 2.0.0-beta1 | — |
| Go | github.com/grafana/grafana | from 2.0.0-beta1+incompatible | — |
| Go | github.com/grafana/grafana | all versions | — |
| Go | github.com/grafana/grafana | before 1.9.2-0.20260616075434-82ef13993059 | 1.9.2-0.20260616075434-82ef13993059 |
| openSUSE:Tumbleweed | grafana | before 12.4.5-4.1 | 12.4.5-4.1 |
| Red Hat:hummingbird:1 | grafana12.4 | before 0:12.4.10-0.4.hum1 | 0:12.4.10-0.4.hum1 |
| Red Hat:hummingbird:1 | grafana13.1 | before 0:13.1.3-0.9.hum1 | 0:13.1.3-0.9.hum1 |
| Red Hat:hummingbird:1 | grafana13.2 | before 0:13.2.1-0.4.hum1 | 0:13.2.1-0.4.hum1 |
Same product
grafana: all recordsOther highest-scoring records for the same primary product.
- CVE-2021-39226Snapshot authentication bypass in grafanaKEV89Now
- CVE-2021-43798Grafana path traversalKEV87Now
- CVE-2024-9264Grafana SQL Expressions allow for remote code execution65This week
- CVE-2020-13379The avatar feature in Grafana 3.0.1 through 7.0.1 has an SSRF Incorrect Access Control issue.62This week
- CVE-2018-15727Grafana 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 generate a valid "remember 58Plan
- CVE-2022-31097Stored XSS in Grafana's Unified Alerting55Plan
Remediation
Which version to upgrade to
Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.
| Product / package | Fixed version | Source |
|---|---|---|
| Go:github.com/grafana/grafana | 1.9.2-0.20260616075434-82ef13993059 | Package registry (OSV) |
| opensuse:grafana | 12.4.5-4.1 · openSUSE:Tumbleweed | Package registry (OSV) |
| red hat:grafana12.4 | 0:12.4.10-0.4.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:grafana13.1 | 0:13.1.3-0.9.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
| red hat:grafana13.2 | 0:13.2.1-0.4.hum1 · Red Hat:hummingbird:1 | Package registry (OSV) |
Exploit status
No known public exploit
No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.
Research context
For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.
Timeline
From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.
No dated events beyond publication.
FIRST EPSS daily score; only changes of 0.01 or more are recorded (step chart).
Patch and commit links
Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.
No commit or PR link among the references.
Credits
All researchersFinders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.
- trailerb18 (Researcher)finder
Variant candidates
Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.
- CVE-2025-4123396 days apartA cross-site scripting (XSS) vulnerability exists in Grafana caused by combining a client path traversal and open redirect.53Plan
- CVE-2025-6023339 days apartAn open redirect vulnerability has been identified in Grafana OSS that can be exploited to achieve XSS attacks.45Plan
- CVE-2025-2703425 days apartThe built-in XY Chart plugin is vulnerable to a DOM XSS vulnerability.32Monitor
- CVE-2025-41117130 days apartXSS in Grafana Explore stack trace24Monitor
- CVE-2026-859518 days apartStored XSS in the table panel (TableNG)21Monitor
Chain candidates
An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.
—
Bug bounty scope
- Grafana Labs - Vulnerability Disclosure Program (VDP)Intigriti · disclosure only (VDP) · grafana/grafana
- Grafana Labs - Vulnerability Disclosure Program (VDP)Intigriti · disclosure only (VDP)
The product’s vendor appears in a public program. Matched by name; verify the scope text in the program.
Technical details
Attack conditions
- Anyone who can reach it over the internet can trigger it.
- A low-privileged account is enough.
- A user must open a link or visit a page.
- No special conditions are required; it is repeatable.
If successful
- Confidentiality
- low · data can be read
- Integrity
- low · data or configuration can be modified
- Availability
- none
Impact can extend beyond the vulnerable component (scope changes).
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- Low
- User interaction
- Required
- Scope
- Changed
- Confidentiality impact
- Low
- Integrity impact
- Low
- Availability impact
- None
Weakness class (CWE)
CWE-79 · Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
nvd-primary
Root cause
User content is inserted into the page as HTML. The browser interprets the content as code rather than data.
The bug in code
The whole CWE-79 classA representative example of this vulnerability class. Not the vendor's source code; it shows the faulty pattern and its fix.
Vulnerable
commentEl.innerHTML = comment.body;Fixed
commentEl.textContent = comment.body;Attack context
MITRE CAPEC attack patterns and ATT&CK techniques for this weakness class (CWE). A starting point for detection rules and threat hunting.
Attack patterns (CAPEC)
ATT&CK techniques
—
Change log
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
Vendor advisories and official records. Exploit/PoC links are deliberately left out.