Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en la aplicación "wagtail.contrib.forms" en los asistentes de renderización de formularios estándar de Django en Wagtail (CVE-2020-15118)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-79 Neutralización incorrecta de la entrada durante la generación de la página web (Cross-site Scripting)
Fecha de publicación:
20/07/2020
Última modificación:
28/07/2020

Descripción

En Wagtail versiones anteriores a 2.7.4 y 2.9.3, cuando un tipo de página de formulario está disponible para los editores de Wagtail mediante la aplicación "wagtail.contrib.forms", y la plantilla de la página es creada utilizando los asistentes de renderización de formularios estándar 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án renderizadas sin escape en la página. Permitir HTML dentro del texto de ayuda es una decisión de diseño intencional por Django; sin embargo, como cuestión de la política, Wagtail no permite a editores insertar HTML arbitrario por defecto, ya que esto podría 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ía haberse puesto a disposición 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ón 2.7.4 (para la rama LTS 2.7) y Wagtail versión 2.9.3 (para la rama 2.9 actual). En estas versiones, será escapado el texto de ayuda para impedir la inclusión de etiquetas HTML. Los propietarios de sitios que deseen volver a habilitar el uso de HTML en el texto de ayuda (y estén dispuestos a aceptar el riesgo de que los editores lo exploten) pueden establecer WAGTAILFORMS_HELP_TEXT_ALLOW_HTML = True en sus ajustes de configuración. Los propietarios de sitios que no son capaces de actualizar a las nuevas versiones pueden proteger sus plantillas de página de formulario al renderizar formularios campo por campo según la documentación de Django, pero omitiendo el filtro seguro al generar el texto de ayuda

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:torchbox:wagtail:*:*:*:*:*:*:*:* 2.7 (incluyendo) 2.7.4 (excluyendo)
cpe:2.3:a:torchbox:wagtail:*:*:*:*:*:*:*:* 2.9 (incluyendo) 2.9.3 (excluyendo)