CVE-2020-15118
Wagtail Cross-Site Scripting (XSS) Debian AJAX
Description
In Wagtail before versions 2.7.4 and 2.9.3, when a form page type is made available to Wagtail editors through the `wagtail.contrib.forms` app, and the page template is built using Django's standard form rendering helpers such as form.as_p, any HTML tags used within a form field's help text will be rendered unescaped in the page. Allowing HTML within help text is an intentional design decision by Django; however, as a matter of policy Wagtail does not allow editors to insert arbitrary HTML by default, as this could potentially be used to carry out cross-site scripting attacks, including privilege escalation. This functionality should therefore not have been made available to editor-level users. The vulnerability is not exploitable by an ordinary site visitor without access to the Wagtail admin. Patched versions have been released as Wagtail 2.7.4 (for the LTS 2.7 branch) and Wagtail 2.9.3 (for the current 2.9 branch). In these versions, help text will be escaped to prevent the inclusion of HTML tags. Site owners who wish to re-enable the use of HTML within help text (and are willing to accept the risk of this being exploited by editors) may set WAGTAILFORMS_HELP_TEXT_ALLOW_HTML = True in their configuration settings. Site owners who are unable to upgrade to the new versions can secure their form page templates by rendering forms field-by-field as per Django's documentation, but omitting the |safe filter when outputting the help text.
INFO
Published Date :
July 20, 2020, 6:15 p.m.
Last Modified :
Nov. 21, 2024, 5:04 a.m.
Source :
[email protected]
Remotely Exploitable :
Yes !
Impact Score :
5.2
Exploitability Score :
0.5
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-2020-15118
.
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).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2020-15118
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2020-15118
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://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.Field.help_text Added Reference https://docs.wagtail.io/en/stable/reference/contrib/forms/index.html#usage Added Reference https://github.com/wagtail/wagtail/blob/master/docs/releases/2.9.3.rst Added Reference https://github.com/wagtail/wagtail/commit/d9a41e7f24d08c024acc9a3094940199df94db34 Added Reference https://github.com/wagtail/wagtail/security/advisories/GHSA-2473-9hgq-j7xw -
CVE Modified by [email protected]
May. 14, 2024
Action Type Old Value New Value -
Initial Analysis by [email protected]
Jul. 28, 2020
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:S/C:N/I:P/A:N) Added CVSS V3.1 NIST AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N Changed Reference Type https://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.Field.help_text No Types Assigned https://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.Field.help_text Third Party Advisory Changed Reference Type https://docs.wagtail.io/en/stable/reference/contrib/forms/index.html#usage No Types Assigned https://docs.wagtail.io/en/stable/reference/contrib/forms/index.html#usage Vendor Advisory Changed Reference Type https://github.com/wagtail/wagtail/blob/master/docs/releases/2.9.3.rst No Types Assigned https://github.com/wagtail/wagtail/blob/master/docs/releases/2.9.3.rst Release Notes, Third Party Advisory Changed Reference Type https://github.com/wagtail/wagtail/commit/d9a41e7f24d08c024acc9a3094940199df94db34 No Types Assigned https://github.com/wagtail/wagtail/commit/d9a41e7f24d08c024acc9a3094940199df94db34 Patch, Third Party Advisory Changed Reference Type https://github.com/wagtail/wagtail/security/advisories/GHSA-2473-9hgq-j7xw No Types Assigned https://github.com/wagtail/wagtail/security/advisories/GHSA-2473-9hgq-j7xw Third Party Advisory Added CWE NIST CWE-79 Added CPE Configuration OR *cpe:2.3:a:torchbox:wagtail:*:*:*:*:*:*:*:* versions from (including) 2.7 up to (excluding) 2.7.4 *cpe:2.3:a:torchbox:wagtail:*:*:*:*:*:*:*:* versions from (including) 2.9 up to (excluding) 2.9.3 -
CVE Modified by [email protected]
Jul. 20, 2020
Action Type Old Value New Value Changed Description In Wagtail before versions 2.7.4 and 2.9.3, when a form page type is made available to Wagtail editors through the `wagtail.contrib.forms` app, and the page template is built using Django's standard form rendering helpers such as form.as_p, any HTML tags used within a form field's help text will be rendered unescaped in the page. Allowing HTML within help text is an intentional design decision by Django; however, as a matter of policy Wagtail does not allow editors to insert arbitrary HTML by default, as this could potentially be used to carry out cross-site scripting attacks, including privilege escalation. This functionality should therefore not have been made available to editor-level users. The vulnerability is not exploitable by an ordinary site visitor without access to the Wagtail admin. Patched versions have been released as Wagtail 2.7.4 (for the LTS 2.7 branch) and Wagtail 2.9.3 (for the current 2.9 branch). In these versions, help text will be escaped to prevent the inclusion of HTML tags. Site owners who wish to re-enable the use of HTML within help text (and are willing to accept the risk of this being exploited by editors) may set WAGTAILFORMS_HELP_TEXT_ALLOW_HTML = True in their configuration settings. Site owners who are unable to upgrade to the new versions can secure their form page templates by rendering forms field-by-field as per Django's documentation, but omitting the |safe filter when outputting the help text. In Wagtail before versions 2.7.4 and 2.9.3, when a form page type is made available to Wagtail editors through the `wagtail.contrib.forms` app, and the page template is built using Django's standard form rendering helpers such as form.as_p, any HTML tags used within a form field's help text will be rendered unescaped in the page. Allowing HTML within help text is an intentional design decision by Django; however, as a matter of policy Wagtail does not allow editors to insert arbitrary HTML by default, as this could potentially be used to carry out cross-site scripting attacks, including privilege escalation. This functionality should therefore not have been made available to editor-level users. The vulnerability is not exploitable by an ordinary site visitor without access to the Wagtail admin. Patched versions have been released as Wagtail 2.7.4 (for the LTS 2.7 branch) and Wagtail 2.9.3 (for the current 2.9 branch). In these versions, help text will be escaped to prevent the inclusion of HTML tags. Site owners who wish to re-enable the use of HTML within help text (and are willing to accept the risk of this being exploited by editors) may set WAGTAILFORMS_HELP_TEXT_ALLOW_HTML = True in their configuration settings. Site owners who are unable to upgrade to the new versions can secure their form page templates by rendering forms field-by-field as per Django's documentation, but omitting the |safe filter when outputting the help text.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2020-15118
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-2020-15118
weaknesses.
Exploit Prediction
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days.
0.11 }} 0.00%
score
0.41991
percentile