cve-2020-15118
Vulnerability from cvelistv5
Published
2020-07-20 17:50
Modified
2024-08-04 13:08
Summary
Cross-Site Scripting in Wagtail
Impacted products
Vendor Product Version
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-04T13:08:21.683Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_refsource_CONFIRM",
              "x_transferred"
            ],
            "url": "https://github.com/wagtail/wagtail/security/advisories/GHSA-2473-9hgq-j7xw"
          },
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.Field.help_text"
          },
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://docs.wagtail.io/en/stable/reference/contrib/forms/index.html#usage"
          },
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/wagtail/wagtail/commit/d9a41e7f24d08c024acc9a3094940199df94db34"
          },
          {
            "tags": [
              "x_refsource_MISC",
              "x_transferred"
            ],
            "url": "https://github.com/wagtail/wagtail/blob/master/docs/releases/2.9.3.rst"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "product": "wagtail",
          "vendor": "wagtail",
          "versions": [
            {
              "status": "affected",
              "version": "\u003c 2.7.4"
            },
            {
              "status": "affected",
              "version": "\u003e= 2.8.0, \u003c 2.9.3"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "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\u0027s standard form rendering helpers such as form.as_p, any HTML tags used within a form field\u0027s 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\u0027s documentation, but omitting the |safe filter when outputting the help text."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 5.7,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "HIGH",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-79",
              "description": "CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2020-07-20T17:50:16",
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M"
      },
      "references": [
        {
          "tags": [
            "x_refsource_CONFIRM"
          ],
          "url": "https://github.com/wagtail/wagtail/security/advisories/GHSA-2473-9hgq-j7xw"
        },
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.Field.help_text"
        },
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://docs.wagtail.io/en/stable/reference/contrib/forms/index.html#usage"
        },
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/wagtail/wagtail/commit/d9a41e7f24d08c024acc9a3094940199df94db34"
        },
        {
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/wagtail/wagtail/blob/master/docs/releases/2.9.3.rst"
        }
      ],
      "source": {
        "advisory": "GHSA-2473-9hgq-j7xw",
        "discovery": "UNKNOWN"
      },
      "title": "Cross-Site Scripting in Wagtail",
      "x_legacyV4Record": {
        "CVE_data_meta": {
          "ASSIGNER": "security-advisories@github.com",
          "ID": "CVE-2020-15118",
          "STATE": "PUBLIC",
          "TITLE": "Cross-Site Scripting in Wagtail"
        },
        "affects": {
          "vendor": {
            "vendor_data": [
              {
                "product": {
                  "product_data": [
                    {
                      "product_name": "wagtail",
                      "version": {
                        "version_data": [
                          {
                            "version_value": "\u003c 2.7.4"
                          },
                          {
                            "version_value": "\u003e= 2.8.0, \u003c 2.9.3"
                          }
                        ]
                      }
                    }
                  ]
                },
                "vendor_name": "wagtail"
              }
            ]
          }
        },
        "data_format": "MITRE",
        "data_type": "CVE",
        "data_version": "4.0",
        "description": {
          "description_data": [
            {
              "lang": "eng",
              "value": "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\u0027s standard form rendering helpers such as form.as_p, any HTML tags used within a form field\u0027s 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\u0027s documentation, but omitting the |safe filter when outputting the help text."
            }
          ]
        },
        "impact": {
          "cvss": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 5.7,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "HIGH",
            "scope": "UNCHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N",
            "version": "3.1"
          }
        },
        "problemtype": {
          "problemtype_data": [
            {
              "description": [
                {
                  "lang": "eng",
                  "value": "CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)"
                }
              ]
            }
          ]
        },
        "references": {
          "reference_data": [
            {
              "name": "https://github.com/wagtail/wagtail/security/advisories/GHSA-2473-9hgq-j7xw",
              "refsource": "CONFIRM",
              "url": "https://github.com/wagtail/wagtail/security/advisories/GHSA-2473-9hgq-j7xw"
            },
            {
              "name": "https://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.Field.help_text",
              "refsource": "MISC",
              "url": "https://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.Field.help_text"
            },
            {
              "name": "https://docs.wagtail.io/en/stable/reference/contrib/forms/index.html#usage",
              "refsource": "MISC",
              "url": "https://docs.wagtail.io/en/stable/reference/contrib/forms/index.html#usage"
            },
            {
              "name": "https://github.com/wagtail/wagtail/commit/d9a41e7f24d08c024acc9a3094940199df94db34",
              "refsource": "MISC",
              "url": "https://github.com/wagtail/wagtail/commit/d9a41e7f24d08c024acc9a3094940199df94db34"
            },
            {
              "name": "https://github.com/wagtail/wagtail/blob/master/docs/releases/2.9.3.rst",
              "refsource": "MISC",
              "url": "https://github.com/wagtail/wagtail/blob/master/docs/releases/2.9.3.rst"
            }
          ]
        },
        "source": {
          "advisory": "GHSA-2473-9hgq-j7xw",
          "discovery": "UNKNOWN"
        }
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "cveId": "CVE-2020-15118",
    "datePublished": "2020-07-20T17:50:16",
    "dateReserved": "2020-06-25T00:00:00",
    "dateUpdated": "2024-08-04T13:08:21.683Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2020-15118\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2020-07-20T18:15:12.107\",\"lastModified\":\"2020-07-28T12:29:45.730\",\"vulnStatus\":\"Analyzed\",\"descriptions\":[{\"lang\":\"en\",\"value\":\"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\u0027s standard form rendering helpers such as form.as_p, any HTML tags used within a form field\u0027s 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\u0027s documentation, but omitting the |safe filter when outputting the help text.\"},{\"lang\":\"es\",\"value\":\"En Wagtail versiones anteriores a 2.7.4 y 2.9.3, cuando un tipo de p\u00e1gina de formulario est\u00e1 disponible para los editores de Wagtail mediante la aplicaci\u00f3n \\\"wagtail.contrib.forms\\\", y la plantilla de la p\u00e1gina es creada utilizando los asistentes de renderizaci\u00f3n de formularios est\u00e1ndar de Django, tal y como form.as_p, cualquiera de las etiquetas HTML utilizadas en el texto de ayuda de un campo de formulario ser\u00e1n renderizadas sin escape en la p\u00e1gina. Permitir HTML dentro del texto de ayuda es una decisi\u00f3n de dise\u00f1o intencional por Django; sin embargo, como cuesti\u00f3n de la pol\u00edtica, Wagtail no permite a editores insertar HTML arbitrario por defecto, ya que esto podr\u00eda potencialmente ser usado para llevar a cabo ataques de tipo cross-site scripting, incluyendo una escalada de privilegios. Esta funcionalidad por lo tanto no deber\u00eda haberse puesto a disposici\u00f3n de los usuarios de nivel editor. La vulnerabilidad no es explotable por un visitante ordinario del sitio sin acceso al administrador de Wagtail. Las versiones parcheadas han sido iniciadas como Wagtail versi\u00f3n 2.7.4 (para la rama LTS 2.7) y Wagtail versi\u00f3n 2.9.3 (para la rama 2.9 actual). En estas versiones, ser\u00e1 escapado el texto de ayuda para impedir la inclusi\u00f3n de etiquetas HTML. Los propietarios de sitios que deseen volver a habilitar el uso de HTML en el texto de ayuda (y est\u00e9n dispuestos a aceptar el riesgo de que los editores lo exploten) pueden establecer WAGTAILFORMS_HELP_TEXT_ALLOW_HTML = True en sus ajustes de configuraci\u00f3n. Los propietarios de sitios que no son capaces de actualizar a las nuevas versiones pueden proteger sus plantillas de p\u00e1gina de formulario al renderizar formularios campo por campo seg\u00fan la documentaci\u00f3n de Django, pero omitiendo el filtro seguro al generar el texto de ayuda\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"REQUIRED\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"LOW\",\"availabilityImpact\":\"NONE\",\"baseScore\":5.4,\"baseSeverity\":\"MEDIUM\"},\"exploitabilityScore\":2.3,\"impactScore\":2.7},{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"HIGH\",\"userInteraction\":\"REQUIRED\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"NONE\",\"baseScore\":5.7,\"baseSeverity\":\"MEDIUM\"},\"exploitabilityScore\":0.5,\"impactScore\":5.2}],\"cvssMetricV2\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"2.0\",\"vectorString\":\"AV:N/AC:M/Au:S/C:N/I:P/A:N\",\"accessVector\":\"NETWORK\",\"accessComplexity\":\"MEDIUM\",\"authentication\":\"SINGLE\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"PARTIAL\",\"availabilityImpact\":\"NONE\",\"baseScore\":3.5},\"baseSeverity\":\"LOW\",\"exploitabilityScore\":6.8,\"impactScore\":2.9,\"acInsufInfo\":false,\"obtainAllPrivilege\":false,\"obtainUserPrivilege\":false,\"obtainOtherPrivilege\":false,\"userInteractionRequired\":true}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-79\"}]},{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-79\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:torchbox:wagtail:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"2.7\",\"versionEndExcluding\":\"2.7.4\",\"matchCriteriaId\":\"2220EE02-4D15-4969-85A0-73492983333E\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:torchbox:wagtail:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"2.9\",\"versionEndExcluding\":\"2.9.3\",\"matchCriteriaId\":\"937BB6AA-059B-403B-908B-52FB905FFD77\"}]}]}],\"references\":[{\"url\":\"https://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.Field.help_text\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Third Party Advisory\"]},{\"url\":\"https://docs.wagtail.io/en/stable/reference/contrib/forms/index.html#usage\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Vendor Advisory\"]},{\"url\":\"https://github.com/wagtail/wagtail/blob/master/docs/releases/2.9.3.rst\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Release Notes\",\"Third Party Advisory\"]},{\"url\":\"https://github.com/wagtail/wagtail/commit/d9a41e7f24d08c024acc9a3094940199df94db34\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Patch\",\"Third Party Advisory\"]},{\"url\":\"https://github.com/wagtail/wagtail/security/advisories/GHSA-2473-9hgq-j7xw\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Third Party Advisory\"]}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.