CVE-2021-41174
Grafana AngularJS Remote Code Execution (RCE)
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. AngularJS uses double curly braces for interpolation binding: {{ }} ex: {{constructor.constructor(‘alert(1)’)()}}. When the user follows the link and the page renders, the login button will contain the original link with a query parameter to force a redirect to the login page. The URL is not validated and the AngularJS rendering engine will execute the JavaScript expression contained in the URL. Users are advised to upgrade as soon as possible. If for some reason you cannot upgrade, you can use a reverse proxy or similar to block access to block the literal string {{ in the path.
INFO
Published Date :
Nov. 3, 2021, 6:15 p.m.
Last Modified :
Nov. 21, 2024, 6:25 a.m.
Source :
[email protected]
Remotely Exploitable :
Yes !
Impact Score :
4.7
Exploitability Score :
1.6
Public PoC/Exploit Available at Github
CVE-2021-41174 has a 4 public PoC/Exploit
available at Github.
Go to the Public Exploits
tab to see the list.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2021-41174
.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
在公网收集的gobypoc+部分自己加的poc
a Curated list of Grafana Security Vulnerabilities, CVE & exploit
None
essential templates for kenzer [DEPRECATED]
kenzer vulnerabilities kenzer-templates arpsyndicate
Python Shell Ruby
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2021-41174
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2021-41174
vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by af854a3a-2127-422b-91ae-364da2661108
Nov. 21, 2024
Action Type Old Value New Value Added Reference https://github.com/grafana/grafana/commit/31b78d51c693d828720a5b285107a50e6024c912 Added Reference https://github.com/grafana/grafana/commit/3cb5214fa45eb5a571fd70d6c6edf0d729983f82 Added Reference https://github.com/grafana/grafana/commit/fb85ed691290d211a5baa44d9a641ab137f0de88 Added Reference https://github.com/grafana/grafana/security/advisories/GHSA-3j9m-hcv9-rpj8 Added Reference https://security.netapp.com/advisory/ntap-20211125-0003/ -
CVE Modified by [email protected]
May. 14, 2024
Action Type Old Value New Value -
Modified Analysis by [email protected]
Nov. 29, 2021
Action Type Old Value New Value Changed Reference Type https://security.netapp.com/advisory/ntap-20211125-0003/ No Types Assigned https://security.netapp.com/advisory/ntap-20211125-0003/ Third Party Advisory -
CVE Modified by [email protected]
Nov. 25, 2021
Action Type Old Value New Value Changed 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. AngularJS uses double curly braces for interpolation binding: {{ }} ex: {{constructor.constructor(‘alert(1)’)()}}. When the user follows the link and the page renders, the login button will contain the original link with a query parameter to force a redirect to the login page. The URL is not validated and the AngularJS rendering engine will execute the JavaScript expression contained in the URL. Users are advised to upgrade as soon as possible. If for some reason you cannot upgrade, you can use a reverse proxy or similar to block access to block the literal string {{ in the path. 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. AngularJS uses double curly braces for interpolation binding: {{ }} ex: {{constructor.constructor(‘alert(1)’)()}}. When the user follows the link and the page renders, the login button will contain the original link with a query parameter to force a redirect to the login page. The URL is not validated and the AngularJS rendering engine will execute the JavaScript expression contained in the URL. Users are advised to upgrade as soon as possible. If for some reason you cannot upgrade, you can use a reverse proxy or similar to block access to block the literal string {{ in the path. Added Reference https://security.netapp.com/advisory/ntap-20211125-0003/ [No Types Assigned] -
Initial Analysis by [email protected]
Nov. 05, 2021
Action Type Old Value New Value Added CVSS V2 Metadata Victim must voluntarily interact with attack mechanism Added CVSS V2 NIST (AV:N/AC:M/Au:N/C:N/I:P/A:N) Added CVSS V3.1 NIST AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N Changed Reference Type https://github.com/grafana/grafana/commit/31b78d51c693d828720a5b285107a50e6024c912 No Types Assigned https://github.com/grafana/grafana/commit/31b78d51c693d828720a5b285107a50e6024c912 Patch, Third Party Advisory Changed Reference Type https://github.com/grafana/grafana/commit/3cb5214fa45eb5a571fd70d6c6edf0d729983f82 No Types Assigned https://github.com/grafana/grafana/commit/3cb5214fa45eb5a571fd70d6c6edf0d729983f82 Patch, Third Party Advisory Changed Reference Type https://github.com/grafana/grafana/commit/fb85ed691290d211a5baa44d9a641ab137f0de88 No Types Assigned https://github.com/grafana/grafana/commit/fb85ed691290d211a5baa44d9a641ab137f0de88 Patch, Third Party Advisory Changed Reference Type https://github.com/grafana/grafana/security/advisories/GHSA-3j9m-hcv9-rpj8 No Types Assigned https://github.com/grafana/grafana/security/advisories/GHSA-3j9m-hcv9-rpj8 Third Party Advisory Added CWE NIST CWE-79 Added CPE Configuration OR *cpe:2.3:a:grafana:grafana:*:*:*:*:*:*:*:* versions from (including) 8.0.0 up to (excluding) 8.2.3
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2021-41174
is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2021-41174
weaknesses.
Exploit Prediction
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days.
95.87 }} 0.38%
score
0.99602
percentile