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

Vulnerabilidad en un bloque StreamField de texto plano en Wagtail (CVE-2021-32681)

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:
17/06/2021
Última modificación:
23/06/2021

Descripción

Wagtail es un sistema de administración de contenidos de código abierto construido sobre Django. Se presenta una vulnerabilidad de tipo cross-site scripting en versiones 2.13-2.13.1, versiones 2.12-2.12.4 y versiones anteriores a 2.11.8. Cuando es usada la etiqueta de plantilla "{% include_block %}" para dar salida al valor de un bloque StreamField de texto plano ("CharBlock", "TextBlock" o un bloque similar definido por el usuario y derivado de "FieldBlock"), y ese bloque no especifica una plantilla para su renderización, la salida de la etiqueta no se escapa apropiadamente como HTML. Esto podría permitir a usuarios insertar HTML o scripts arbitrarios. Esta vulnerabilidad sólo es explotada por usuarios con la habilidad de autoría del contenido de StreamField (es decir, usuarios con acceso "editor" al administrador de Wagtail). Las versiones parcheadas han sido publicadas como Wagtail versión 2.11.8 (para la rama LTS 2.11), Wagtail versión 2.12.5, y Wagtail versión 2.13.2 (para la rama actual 2.13). Como solución, los implementadores de sitios que no puedan actualizarse a una versión compatible actual deberían auditar su uso de "{% include_block %}" para asegurarse de que no se usa para dar salida a valores "CharBlock" / "TextBlock" sin plantilla asociada. Tenga en cuenta que esto sólo es aplicado cuando "{% include_block %}" es usado directamente en ese bloque (los usos de "include_block" en un bloque que _contiene_ un CharBlock / TextBlock, como un StructBlock, no están afectados). En estos casos, la etiqueta puede sustituirse por la sintaxis de Django "{{ ... }}" - por ejemplo, "{% include_block my_title_block %}" se convierte en "{{ my_title_block }}"

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:torchbox:wagtail:*:*:*:*:*:*:*:* 2.11.8 (excluyendo)
cpe:2.3:a:torchbox:wagtail:*:*:*:*:*:*:*:* 2.12 (incluyendo) 2.12.4 (incluyendo)
cpe:2.3:a:torchbox:wagtail:*:*:*:*:*:*:*:* 2.13 (incluyendo) 2.13.1 (incluyendo)