Actualización de curl/libcurl para Debian Linux


Debian ha publicado una actualización de curl y libcurl que corrige una
vulnerabilidad que podría permitir a un atacante remoto causar una
denegación de servicio y potencialmente ejecutar código arbitrario
dependiendo del contexto.

curl es una aplicación de línea de comandos para transferencia de datos
con sintaxis URL y con soporte para múltiples protocolos de red. libcurl
es una librería que expone el núcleo de funciones usado por curl para
que pueda ser reutilizado por aplicaciones de terceros.

El fallo reside en libcurl, en el archivo “content_encoding.c”. Allí se
define la constante “DSIZ” que se usa como referencia para el tamaño de
un búfer que será usado para depositar los datos descomprimidos de una
transferencia activa.

Una aplicación que use libcurl (curl como caso más evidente) registra
una función de rellamada (callback) que se invoca repetidamente por
libcurl a medida que los datos son recibidos y depositados en el búfer.

El tamaño del búfer proporcionado por la aplicación está definido a un
máximo de 16K por la constante “DSIZ”. Si la aplicación le indica a
libcurl que descomprima los datos recibidos antes de depositarlos en el
buffer, estos pasarán a ocupar hasta 64K ya que libcurl no respeta, en
caso de efectuar la descompresión, el máximo definido.

En el caso de que la aplicación cliente no valide el tamaño devuelto por
libcurl se produce un desbordamiento de búfer.

La vulnerabilidad, con CVE-2010-0734, está presente en las versiones de
libcurl superiores a la 7.10.5 e inferiores a la 7.19.7 ambas inclusive.

Más información: