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

Vulnerabilidad en libcurl (CVE-2017-1000257)

Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-119 Restricción de operaciones inapropiada dentro de los límites del búfer de la memoria
Fecha de publicación:
31/10/2017
Última modificación:
20/04/2025

Descripción

Una línea de respuesta IMAP FETCH indica el tamaño de los datos devueltos en número de bytes. Cuando una respuesta indica que el tamaño de los datos es cero bytes, libcurl pasaría esos datos (inexistentes) con un puntero y el tamaño (cero) a la función deliver-data. La función deliver-data de libcurl trata el cero como un número mágico e invoca strlen() en los datos para adivinar la longitud. Se llama a strlen() en un búfer basado en memoria dinámica (heap) que podría no terminar en cero, por lo que libcurl podría leer más allá del final del búfer en cualquier memoria en la que se encuentre después (o simplemente provocar un cierre inesperado) y entregar los datos a la aplicación como si en realidad se hubieran descargado.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:haxx:libcurl:*:*:*:*:*:*:*:* 7.20.0 (incluyendo) 7.56.0 (incluyendo)
cpe:2.3:o:debian:debian_linux:8.0:*:*:*:*:*:*:*
cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*