Security Resilience

CVE-2021-39226

Auth Bypass in Grafana ≤ 7.5.11

CISA KEVActive ExploitationEUVD ExploitedPublic PoCAuth BypassAccess Control
Published
05 October 2021
Modified
24 October 2025
KEV Added
25 August 2022
Patch / advisory
CVSS Score v3.1 9.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.99 100.0th percentile
Risk Priority 97 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2021-39226 is a critical-severity Improper Authentication (CWE-287) vulnerability in Grafana Grafana. Its CVSS base score is 9.8 (Critical).

Operationally, ranked in the top 0.0% of CVEs by exploit likelihood; CISA has added it to the Known Exploited Vulnerabilities catalog; a public proof-of-concept is referenced.

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 data visualization platform affected by improper authentication and authorization flaws (CWE-287 and CWE-862) that allow access to snapshot resources. In vulnerable versions, both unauthenticated and authenticated users can retrieve the snapshot possessing the lowest database key by directly requesting the paths /dashboard/snapshot/:key or /api/snapshots/:key. When the snapshot public_mode setting is enabled, unauthenticated users can additionally delete that snapshot via /api/snapshots-delete/:deleteKey, while authenticated users can perform the same deletion regardless of the setting.

An attacker can therefore enumerate and exfiltrate snapshot contents by repeatedly accessing the lowest-key resource, then delete each snapshot after retrieval, resulting in complete loss of snapshot data while traversing the entire collection. The vulnerability carries a CVSS 3.1 score of 9.8 and requires no privileges or user interaction.

Official advisories and patches state that the issue is resolved in Grafana 8.1.6 and 7.5.11. Organizations unable to upgrade immediately are advised to deploy a reverse proxy or equivalent control to block the literal paths /api/snapshots/:key, /api/snapshots-delete/:deleteKey, /dashboard/snapshot/:key, and /api/snapshots/:key, which have no required operational function.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Grafana is an open source data visualization platform. In affected versions unauthenticated and authenticated users are able to view the snapshot with the lowest database key by accessing the literal paths: /dashboard/snapshot/:key, or /api/snapshots/:key. If the snapshot "public_mode" configuration setting…

more

is set to true (vs default of false), unauthenticated users are able to delete the snapshot with the lowest database key by accessing the literal path: /api/snapshots-delete/:deleteKey. Regardless of the snapshot "public_mode" setting, authenticated users are able to delete the snapshot with the lowest database key by accessing the literal paths: /api/snapshots/:key, or /api/snapshots-delete/:deleteKey. The combination of deletion and viewing enables a complete walk through all snapshot data while resulting in complete snapshot data loss. This issue has been resolved in versions 8.1.6 and 7.5.11. If for some reason you cannot upgrade you can use a reverse proxy or similar to block access to the literal paths: /api/snapshots/:key, /api/snapshots-delete/:deleteKey, /dashboard/snapshot/:key, and /api/snapshots/:key. They have no normal function and can be disabled without side effects.

CWE(s)
KEV Date Added
25 August 2022

Related Threats

CVEs Like This One

CVE-2023-20867Same product: Fedoraproject Fedoraboth on KEV
CVE-2021-37976Same product: Fedoraproject Fedoraboth on KEV
CVE-2022-0492Same product: Fedoraproject Fedoraboth on KEV
CVE-2022-23134Same product: Fedoraproject Fedoraboth on KEV
CVE-2026-33377Same product: Grafana Grafana
CVE-2023-2183Same product: Grafana Grafana
CVE-2018-15727Same product: Grafana Grafana
CVE-2023-43090Same product: Fedoraproject Fedora
CVE-2026-42018Shared CWE-287both on KEV
CVE-2025-32975Shared CWE-287both on KEV

Affected Assets

grafana
grafana
≤ 7.5.11 · 8.0.0 — 8.1.6
fedoraproject
fedora
34, 35

Mitigating Controls

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-287 CWE-862

Session content review can reveal authentication bypasses or failures in session establishment.

addresses: CWE-287 CWE-862

Assessments check authentication mechanisms for correct implementation and effectiveness, reducing successful authentication bypass attempts.

addresses: CWE-287 CWE-862

Identity providers centralize and enforce authentication mechanisms, reducing improper authentication.

addresses: CWE-862 CWE-287

Requires explicit authorization before any identifier can be assigned, preventing missing authorization.

addresses: CWE-287 CWE-862

Personnel screening, identity verification, and access-agreement requirements support reliable authentication and reduce authentication bypass opportunities.

addresses: CWE-287 CWE-862

Requiring explicit security roles and risk integration in the SDLC forces authentication mechanisms to be planned, documented, and validated instead of omitted or weakly implemented.

addresses: CWE-287 CWE-862

Decoy authentication surfaces detect bypass attempts and deflect real credential attacks through observable malicious interactions.

addresses: CWE-862

Requiring an access control policy ensures authorization checks are defined and applied for critical functions.

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.

blocks

Requiring formal authorization of every access request before rights are granted ensures that checks for required permissions are performed, preventing missing authorization checks from being introduced.

blocks

Mandating segregated approval and oversight for non-human identities reduces the chance that weak or orphaned credentials can be exploited for unauthorized authentication.

blocks

A.5.17 directly mandates generation of non-guessable unique secrets, secure transmission, immediate change of defaults/temporary creds, strong password enforcement, no-reuse, and compromise response, which stops most improper-authentication exploits at source; the bounded remainder is non-password authentication methods and sufficiency-of-proof cases (e.g. IA-2/IA-5 enhancements) left to other controls.

blocks

A.5.18's provisioning, review, revocation and activation steps (incl. owner approval, SoD, timely removal on role/termination change) directly stop exploitation of missing authorization checks by ensuring no actor receives or retains rights to resources they should not access; the bounded remainder is that it cannot stop missing-authorization defects inside the enforcement mechanism itself once rights have been granted (e.g. flawed code that ignores the rights table).

finds

By requiring competent outsiders to verify that every function enforces the need-to-know principle, the control lowers the likelihood that missing authorization checks persist undetected.

blocks

A.5.8 integrates risk assessment, requirements elicitation and governance into the project lifecycle so that authorization needs can be identified and specified; it does not itself perform or enforce authorization checks, so the missing-authorization weakness can still be present and exploitable.

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-287, a class-level weakness. Rules are authored against its narrower children: CWE-295, CWE-306.
  • No fine-grained STIG row for CWE-862, a class-level weakness, and none of its children carries one either.

References