Descubren vulnerabilidades en la biblioteca libpng
El Departamento de Seguridad de Cómputo de la Universidad de México (CERT/UNAM-CERT), a través de sus equipos de respuesta a incidentes de Seguridad en Cómputo, emitió este boletín donde informa sobre la existencia de diversas vulnerabilidades en la biblioteca libpng, de las cuales la más seria podría permitir a un intruso remoto ejecutar código arbitrario en un sistema afectado.
Fecha de liberación: 4 de Agosto de 2004
Fuente: CERT/CC y diversos reportes de Equipos de Respuesta a Incidentes, así como Foros y Listas de Discusión.
Sistemas Afectados
* Aplicaciones y sistemas que usan la biblioteca libpng
I. Descripción
El formato de imagen Portable Network Graphics (PNG) se usa como una alternativa a otros formatos de imagen como Graphics Interchange Format (GIF). libpng es una popular biblioteca de referencia disponible para los desarrolladores de aplicaciones para soportar el formato de imagen PNG.
Se han reportado diversas vulnerabilidades en la biblioteca libpng. Cualquier aplicación o sistema que use esta biblioteca podría ser afectada. Existe información más detallada en las notas de vulnerabilidad individuales:
VU#388984 - libpng falla en la verificación de la longitud de los datos de la pieza de transparencia (tRNS).
Se ha descubierto una vulnerabilidad de desbordamiento de buffer en la forma en que libpng procesa las imágenes PNG. Esta vulnerabilidad podría permitir a un intruso remoto ejecutar código arbitrario en un sistema vulnerable introduciendo una imagen PNG amañada. (Otras referencias: CAN-2004-0597).
VU#236656 - Perdida de referencia de puntero Nulo en png_handle_iCCP()
Bajo algunas circunstancias, un puntero nulo podría desreferenciarse durante una asignación de memoria en la función png_handle_iCCP(). Como resultado, una imagen PNG con características particulares podría provocar que la aplicación afectada se colapse. Se reporta que existen errores similares en otras ubicaciones de libpng. (Otras referencias: CAN-2004-0598).
VU#160448 - Desbordamiento de entero en el procesamiento de la altura de la imagen en libpng
Existe un error de desbordamiento de entero en el manejo de la altura de una imagen PNG dentro de la función png_read_png(). Como resultado, una imagen PNG con altura excesiva podría provocar un desbordamiento de entero durante una operación de asignación de memoria, que podría provocar que se colapse la aplicación afectada. (Otras referencias: CAN-2004-0599)
VU#477512 - Overflow de entero en libpng png_handle_sPLT()
Existe un error potencial de overflow de entero durante la operación de asignación de memoria en la función png_handle_sPLT(). No está claro que impacto práctico pueda tener este error en las aplicaciones usando libpng.
VU#817368 - La función libpng png_handle_sBIT() realiza un revisión insuficiente de límites.
Existe una revisión insuficiente de limites en la función png_handle_sBIT(). Existe un error similar en la función png_handle_hIST(). Mientras el código que contiene estos errores podría permitir potencialmente que ocurra un buffer overflow durante la operación subsecuente a la función png_crc_read(), no está muy claro qué vulnerabilidades prácticas pudieran presentarse en
aplicaciones utilizando libpng. (Otras referencias: CAN-2004-0597).
VU#286464 - libpng contiene overflows de entero en el despliegue progresivo en la lectura de imagen.
La biblioteca libpng tiene la capacidad de despliegue intercalado, o despliegue progresivo de imágenes PNG. Existe un número potencial de errores de overflow en el manejo del despliegue progresivo de imagenes en la biblioteca libpng. Mientras el código que contiene estos errores introduce condiciones peligrosas, no está claro que vulnerabilidades prácticas puedan presentarse en aplicaciones usando libpng.
II. Impacto
En el caso de VU#388984, un intruso con la capacidad de introducir una imagen PNG mal formada para vulnerar una aplicación podría causar que la aplicación falle o podría potencialmente ejecutar código de manera arbitraria con los privilegios del usuarios ejecutando la aplicación afectada.
En el caso de VU#236656 y VU#160448, un intruso con la habilidad para introducir una imagen PNG malformada para vulnerar una aplicación podría causar que la aplicación falle.
El impacto de otras vulnerabilidades descritas anteriormente son poco claras.
Un intruso remoto podría causar que una aplicación falle o potencialmente ejecutar código arbitrario convenciendo a una víctima que visite un sitio web malicioso o ver un mensaje de correo electrónico conteniendo una imagen mal formada
III. Solución
* Aplicar un parche o actualizar.
Aplicar el parche apropiado o actualizar la aplicación tal como lo especifique el proveedor. Para ver las medidas de algún proveedor específico, favor de ver en el sitio Web del proveedor o las notas de vulnerabilidades individuales .
Para las personas que usan la fuente de libpng, estos temas han sido resueltos en la versión libpng 1.2.6rc1