Cyber Resilience

CVE-2022-31097

XSS in Grafana 8.0.0 – 8.3.10

High EPSSXSS
Published
15 July 2022
Modified
21 November 2024
Patch / advisory
CVSS Score v3.1 7.3
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N
EPSS Score 0.69 99.3th percentile
Risk Priority 80 floored blend · peak EPSS

Summary

CVE-2022-31097 is a high-severity Cross-site Scripting (CWE-79) vulnerability in Grafana Grafana. Its CVSS base score is 7.3 (High).

Operationally, ranked in the top 0.7% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) and SI-15 (Information Output Filtering) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

Grafana is an open-source monitoring and observability platform affected by a stored cross-site scripting vulnerability in the Unified Alerting feature. The issue impacts versions on the 8.x and 9.x branches prior to 9.0.3, 8.5.9, 8.4.10, and 8.3.10 and is tracked as CWE-79 with a CVSS 3.1 score of 7.3.

An attacker with editor privileges can exploit the flaw to escalate to administrator rights by crafting a malicious alert that executes script when an authenticated administrator clicks a crafted link.

Official advisories and release notes for the patched versions state that upgrades to 9.0.3, 8.5.9, 8.4.10, or 8.3.10 resolve the issue, while workarounds include disabling alerting entirely or reverting to legacy alerting mode. The EPSS score has remained flat at its peak value of 0.4806 with no material post-disclosure rise.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Grafana is an open-source platform for monitoring and observability. Versions on the 8.x and 9.x branch prior to 9.0.3, 8.5.9, 8.4.10, and 8.3.10 are vulnerable to stored cross-site scripting via the Unified Alerting feature of Grafana. An attacker can exploit…

more

this vulnerability to escalate privilege from editor to admin by tricking an authenticated admin to click on a link. Versions 9.0.3, 8.5.9, 8.4.10, and 8.3.10 contain a patch. As a workaround, it is possible to disable alerting or use legacy alerting.

CWE(s)

Related Threats

Likely ATT&CK TechniquesAI

Techniques this vulnerability likely enables, inferred from its description, weakness type, and attributed-actor tradecraft. Confidence is per-technique.

T1189 Drive-by Compromise Initial Accessconfidence: HIGH
Stored XSS payload in an alert is triggered when an admin views it, enabling drive-by compromise via the web interface.
T1056.003 Web Portal Capture Collectionconfidence: HIGH
Malicious alert link can capture web-portal credentials or session tokens from an authenticated administrator.
T1098.003 Additional Cloud Roles Persistenceconfidence: HIGH
Successful XSS leads to privilege escalation from editor to administrator role within the Grafana tenant.
T1078.004 Cloud Accounts Stealthconfidence: MEDIUM
Compromised administrator account grants the attacker persistent use of a valid cloud/web-service account.
inferred from description + CWE · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2023-22462Same product: Grafana Grafana
CVE-2023-0507Same product: Grafana Grafana
CVE-2023-0594Same product: Grafana Grafana
CVE-2023-1410Same product: Grafana Grafana
CVE-2020-11023Same product class: NAS / storage appliance
CVE-2023-23372Same product class: NAS / storage appliance
CVE-2023-34977Same product class: NAS / storage appliance
CVE-2018-19943Same product class: NAS / storage appliance
CVE-2018-19953Same product class: NAS / storage appliance
CVE-2023-3010Same vendor: Grafana

Affected Assets

grafana
grafana
8.0.0 — 8.3.10 · 8.4.0 — 8.4.10 · 8.5.0 — 8.5.9
netapp
e-series performance analyzer
all versions

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • SI-10 Information Input Validation
  • SI-15 Information Output Filtering
  • CM-7 Least Functionality
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.1.2
  • V1.3.2

Mitigating Controls (NIST 800-53 r5) AI

prevent

Enforces validation of alert content in the Unified Alerting feature to reject or sanitize XSS payloads before storage.

prevent

Filters alert output rendered to administrators, neutralizing stored script before it executes on click.

prevent

Disables the vulnerable Unified Alerting feature (or reverts to legacy mode) to eliminate the attack surface entirely.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly target introduction of XSS via coding standards/testing (mostly), yet the single broad outcome leaves many specific neutralization vectors unaddressed (partial).

PR.PS-02 partial match
prevents

Patching and EOL replacement can remediate known XSS instances in libraries or frameworks (partial) but do nothing to enforce input neutralization in application code (none).

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

detects

Secure-coding testing and automated code-analysis tools are applied to detect improper neutralization of script-related content during web-page generation.

prevents

Knowledge exchange on emerging attack techniques and patches reduces the likelihood that cross-site scripting flaws remain unaddressed in deployed applications.

prevents

Operational indicators of compromise for web-application attacks can be incorporated into WAF or input-filtering rules, lowering the likelihood that unsanitized data reaches the browser.

prevents

Requiring language-specific secure-coding standards and automated scanning during the SDLC catches missing output encoding or improper neutralization of untrusted data before the software reaches production.

prevents

Secure-coding standards, SAST scans and removal of insecure code samples together eliminate the failure to neutralize script content that produces cross-site scripting flaws.

none

Webpage malware scanning and block-listing of known malicious sites reduce the likelihood that reflected or stored script payloads reach a user’s browser.

References