Skip to main content
No exploitation reportedFix available

CVE-2020-15118

No exploitation reported by the sources we read.

  • Published2020-07-20
  • Fixed in2.9.3 · 2.7.4
  • WeaknessCWE-79

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

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.

Timeline

dates in UTC
  1. 2020-07-2018:15CVE publishedNVD

Versions per branch

NVD · OSV
Torchbox wagtail
BranchAffectedFixed in
2.9≥ 2.9, < 2.9.32.9.3
2.x≥ 2.8rc1, < 2.9.32.9.3
2.7≥ 2.7, < 2.7.42.7.4
2.7< 2.7.42.7.4

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Fix

  1. Update Torchbox wagtail to 2.9.3 · 2.7.4

Advisories and patches

Detection

Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof of concept
Metasploit modules
none listed
Metasploit Framework

Sources

  • CNACVSS 3.15.7known since 2026-10-23
  • NVDCVSS 3.15.4read 2026-10-23
  • NVDCVSS 2.03.5read 2026-10-23
  • CNAweakness (CWE)CWE-79known since 2026-10-23
  • NVDweakness (CWE)CWE-79read 2026-10-23
  • FIRST EPSSEPSS score1.1 %2026-11-08
  • OSVaffected packages—
  • GitHub AdvisoriesadvisoryHIGH2020-07-20

Identifiers

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Published
2020-07-20
Last Modified
2026-06-17
NVD status
Modified
GitHub Advisory
GHSA-2473-9hgq-j7xw

Frequently asked questions

What is CVE-2020-15118?

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.

Is CVE-2020-15118 actively exploited?

Active exploitation of CVE-2020-15118 has not been confirmed. Its EPSS score was 1.1% on 2026-11-08, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2020-15118?

CVE-2020-15118 has a CVSS v3 base score of 5.4 (MEDIUM severity), with vector string CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N.

Running wagtail? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month

Sources for this record