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

Vulnerabilidad en un delimitador de StringAgg en una instancia contrib.postgres.aggregates.StringAgg en Django (CVE-2020-7471)

Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-89 Neutralización incorrecta de elementos especiales usados en un comando SQL (Inyección SQL)
Fecha de publicación:
03/02/2020
Última modificación:
07/11/2023

Descripción

Django versiones 1.11 anteriores a 1.11.28, versiones 2.2 anteriores a 2.2.10 y versiones 3.0 anteriores a 3.0.3, permite una Inyección SQL si se usan datos no confiables como un delimitador de StringAgg (por ejemplo, en aplicaciones Django que ofrecen descargas de datos como una serie de filas con un delimitador de columna especificado por el usuario). Al pasar un delimitador apropiadamente diseñado a una instancia contrib.postgres.aggregates.StringAgg, fue posible romper el escape e inyectar SQL malicioso.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:* 1.11 (incluyendo) 1.11.28 (excluyendo)
cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:* 2.2 (incluyendo) 2.2.10 (excluyendo)
cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:* 3.0 (incluyendo) 3.0.3 (excluyendo)