6.9
MEDIUM
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. 29, 2021, 5:13 p.m.

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.

Affected Products

The following products are affected by CVE-2021-41174 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Grafana grafana
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.

URL Resource
https://github.com/grafana/grafana/commit/31b78d51c693d828720a5b285107a50e6024c912 Patch Third Party Advisory
https://github.com/grafana/grafana/commit/3cb5214fa45eb5a571fd70d6c6edf0d729983f82 Patch Third Party Advisory
https://github.com/grafana/grafana/commit/fb85ed691290d211a5baa44d9a641ab137f0de88 Patch Third Party Advisory
https://github.com/grafana/grafana/security/advisories/GHSA-3j9m-hcv9-rpj8 Third Party Advisory
https://security.netapp.com/advisory/ntap-20211125-0003/ Third Party Advisory

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

Updated: 1 week, 5 days ago
96 stars 5 fork 5 watcher
Born at : July 28, 2023, 4:28 p.m. This repo has been linked 296 different CVEs too.

a Curated list of Grafana Security Vulnerabilities, CVE & exploit

Updated: 1 month, 1 week ago
5 stars 1 fork 1 watcher
Born at : Sept. 2, 2022, 5:58 a.m. This repo has been linked 7 different CVEs too.

None

Updated: 2 years, 9 months ago
0 stars 7 fork 7 watcher
Born at : Dec. 1, 2021, 10:21 a.m. This repo has been linked 1 different CVEs too.

essential templates for kenzer [DEPRECATED]

kenzer vulnerabilities kenzer-templates arpsyndicate

Python Shell Ruby

Updated: 1 month, 1 week ago
106 stars 32 fork 32 watcher
Born at : Sept. 18, 2020, 9:03 p.m. This repo has been linked 1653 different CVEs too.

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 [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
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.
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.22 }} -0.21%

score

0.99395

percentile

CVSS31 - Vulnerability Scoring System
Attack Vector
Attack Complexity
Privileges Required
User Interaction
Scope
Confidentiality
Integrity
Availability