Grafana OSS 12.4.0 Template String sanitizeTextPanelContent cross site scripting
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.4 | $0-$5k | 4.32- |
Summary
A vulnerability was found in Grafana OSS 12.4.0 and classified as problematic. The impacted element is the function sanitizeTextPanelContent of the component Template String Handler. Such manipulation leads to cross site scripting.
This vulnerability is listed as CVE-2026-9029. The attack may be performed from remote. There is no available exploit.
Details
A vulnerability was found in Grafana OSS 12.4.0. It has been rated as problematic. Affected by this issue is the function sanitizeTextPanelContent of the component Template String Handler. The manipulation with an unknown input leads to a cross site scripting vulnerability. Using CWE to declare the problem leads to CWE-79. The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. Impacted is integrity. CVE summarizes:
The geomap panel's XYZ tile layer has a sanitize-then-interpolate ordering bug. sanitizeTextPanelContent() runs on the raw template string before getTemplateSrv().replace() substitutes the variable value, which uses the glob format with no HTML escaping. The result is passed to OpenLayers via element.innerHTML. An Editor can set a textbox variable's default value to an XSS payload that executes for every user who opens the dashboard. This is a bypass of the CVE-2023-0507 fix
The weakness was presented by Trailerb18. The advisory is available at grafana.com. This vulnerability is handled as CVE-2026-9029 since 05/19/2026. The exploitation is known to be easy. The attack may be launched remotely. Successful exploitation requires user interaction by the victim. Technical details are known, but there is no available exploit. This vulnerability is assigned to T1059.007 by the MITRE ATT&CK project.
There is no information about possible countermeasures known. It may be suggested to replace the affected object with an alternative product.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Product
Vendor
Name
Version
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 5.4VulDB Meta Temp Score: 5.4
VulDB Base Score: 3.5
VulDB Temp Score: 3.5
VulDB Vector: 🔒
VulDB Reliability: 🔍
CNA Base Score: 7.3
CNA Vector (GRAFANA): 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Cross site scriptingCWE: CWE-79 / CWE-94 / CWE-74
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: no mitigation knownStatus: 🔍
0-Day Time: 🔒
Timeline
05/19/2026 CVE reserved06/22/2026 Advisory disclosed
06/22/2026 VulDB entry created
06/22/2026 VulDB entry last update
Sources
Advisory: grafana.comResearcher: Trailerb18
Status: Confirmed
CVE: CVE-2026-9029 (🔒)
GCVE (CVE): GCVE-0-2026-9029
GCVE (VulDB): GCVE-100-372698
Entry
Created: 06/22/2026 17:30Changes: 06/22/2026 17:30 (64)
Complete: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
No comments yet. Languages: en.
Please log in to comment.