# CVE-2022-23552: Grafana stored XSS in FileUploader component 

Status: published. Published: 2023-01-27. Updated: 2026-11-03.

Grafana is an open-source platform for monitoring and observability. Starting with the 8.1 branch and prior to versions 8.5.16, 9.2.10, and 9.3.4, Grafana had a stored XSS vulnerability affecting the core plugin GeoMap. The stored XSS vulnerability was possible because SVG files weren't properly sanitized and allowed arbitrary JavaScript to be executed in the context of the currently authorized user of the Grafana instance. 

An attacker needs to have the Editor role in order to change a panel to include either an external URL to a SVG-file containing JavaScript, or use the `data:` scheme to load an inline SVG-file containing JavaScript. This means that vertical privilege escalation is possible, where a user with Editor role can change to a known password for a user having Admin role if the user with Admin role executes malicious JavaScript viewing a dashboard.   

Users may upgrade to version 8.5.16, 9.2.10, or 9.3.4 to receive a fix.

## Remediation

- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: security-advisories@github.com) — https://github.com/grafana/grafana/commit/1c8a50b36973bd59a1cc5f34c30de8a9a6a431f0
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: security-advisories@github.com) — https://github.com/grafana/grafana/commit/8b574e22b53aa4c5a35032a58844fd4aaaa12f5f
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: security-advisories@github.com) — https://github.com/grafana/grafana/commit/c022534e3848a5d45c0b3face23b43aa44e4400a
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: security-advisories@github.com) — https://github.com/grafana/grafana/pull/62143
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://github.com/grafana/grafana/commit/1c8a50b36973bd59a1cc5f34c30de8a9a6a431f0
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://github.com/grafana/grafana/commit/8b574e22b53aa4c5a35032a58844fd4aaaa12f5f
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://github.com/grafana/grafana/commit/c022534e3848a5d45c0b3face23b43aa44e4400a
- fix: The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches. (source: af854a3a-2127-422b-91ae-364da2661108) — https://github.com/grafana/grafana/pull/62143

## Affected products and versions

- grafana / grafana: >= 9.0, < 9.2.10 (affected); >= 9.3, < 9.3.4 (affected); >= 8.1, < 8.5.16 (affected). Source: CNA: GitHub_M

## NVD configuration conditions

Affected CPE matches depend on the following AND/OR and negation conditions:

```json
[
  {
    "negate": false,
    "nodes": [
      {
        "cpeMatch": [
          {
            "criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "8.5.16",
            "versionStartIncluding": "8.1.0",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "9.2.10",
            "versionStartIncluding": "9.0.0",
            "vulnerable": true
          },
          {
            "criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:*:*:*:*",
            "versionEndExcluding": "9.3.4",
            "versionStartIncluding": "9.3.0",
            "vulnerable": true
          }
        ],
        "negate": false,
        "operator": "OR"
      }
    ],
    "operator": "OR"
  }
]
```

## Severity and prioritization

- 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; source: CNA: GitHub_M

- CVSS 3.1: 5.4 (medium); CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N; source: NVD: nvd@nist.gov

- 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; source: NVD: security-advisories@github.com

- CISA KEV: No listing in collected sources

- EPSS: 0.78% as of 2026-11-03; percentile 55.95%

- SSVC: exploitation none; automatable no; technical impact total; source ADP: CISA-ADP

- Weaknesses: CWE-79

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://github.com/grafana/grafana/security/advisories/GHSA-8xmm-x63g-f6xv (CNA: GitHub_M; x_refsource_CONFIRM)

- https://github.com/grafana/grafana/pull/62143 (CNA: GitHub_M; x_refsource_MISC)

- https://github.com/grafana/grafana/commit/1c8a50b36973bd59a1cc5f34c30de8a9a6a431f0 (CNA: GitHub_M; x_refsource_MISC)

- https://github.com/grafana/grafana/commit/8b574e22b53aa4c5a35032a58844fd4aaaa12f5f (CNA: GitHub_M; x_refsource_MISC)

- https://github.com/grafana/grafana/commit/c022534e3848a5d45c0b3face23b43aa44e4400a (CNA: GitHub_M; x_refsource_MISC)

- https://security.netapp.com/advisory/ntap-20230302-0008/ (ADP: CVE)

- https://github.com/grafana/grafana/security/advisories/GHSA-8xmm-x63g-f6xv (ADP: CVE; x_refsource_CONFIRM, x_transferred)

- https://github.com/grafana/grafana/pull/62143 (ADP: CVE; x_refsource_MISC, x_transferred)

- https://github.com/grafana/grafana/commit/1c8a50b36973bd59a1cc5f34c30de8a9a6a431f0 (ADP: CVE; x_refsource_MISC, x_transferred)

- https://github.com/grafana/grafana/commit/8b574e22b53aa4c5a35032a58844fd4aaaa12f5f (ADP: CVE; x_refsource_MISC, x_transferred)

- https://github.com/grafana/grafana/commit/c022534e3848a5d45c0b3face23b43aa44e4400a (ADP: CVE; x_refsource_MISC, x_transferred)

- https://github.com/grafana/grafana/commit/1c8a50b36973bd59a1cc5f34c30de8a9a6a431f0 (security-advisories@github.com; Patch, Third Party Advisory)

- https://github.com/grafana/grafana/commit/8b574e22b53aa4c5a35032a58844fd4aaaa12f5f (security-advisories@github.com; Patch, Third Party Advisory)

- https://github.com/grafana/grafana/commit/c022534e3848a5d45c0b3face23b43aa44e4400a (security-advisories@github.com; Patch, Third Party Advisory)

- https://github.com/grafana/grafana/pull/62143 (security-advisories@github.com; Patch, Third Party Advisory)

- https://github.com/grafana/grafana/security/advisories/GHSA-8xmm-x63g-f6xv (security-advisories@github.com; Third Party Advisory)

- https://github.com/grafana/grafana/commit/1c8a50b36973bd59a1cc5f34c30de8a9a6a431f0 (af854a3a-2127-422b-91ae-364da2661108; Patch, Third Party Advisory)

- https://github.com/grafana/grafana/commit/8b574e22b53aa4c5a35032a58844fd4aaaa12f5f (af854a3a-2127-422b-91ae-364da2661108; Patch, Third Party Advisory)

- https://github.com/grafana/grafana/commit/c022534e3848a5d45c0b3face23b43aa44e4400a (af854a3a-2127-422b-91ae-364da2661108; Patch, Third Party Advisory)

- https://github.com/grafana/grafana/pull/62143 (af854a3a-2127-422b-91ae-364da2661108; Patch, Third Party Advisory)

- https://github.com/grafana/grafana/security/advisories/GHSA-8xmm-x63g-f6xv (af854a3a-2127-422b-91ae-364da2661108; Third Party Advisory)

- https://security.netapp.com/advisory/ntap-20230302-0008/ (af854a3a-2127-422b-91ae-364da2661108)

## Provenance

- CNA: GitHub_M: https://www.cve.org/CVERecord?id=CVE-2022-23552; retrieved 2026-11-04; source updated 2026-11-03

- NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-23552; retrieved 2026-11-04; source updated 2026-11-03

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2022-23552; retrieved 2026-11-03; source updated Not reported

Revision: c3a0a12af908020865478f599643936f1d22e2922b683c002a28b719f6a6e569

Canonical: https://y2.dev/cve/CVE-2022-23552

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.