Autor Tema: Descubierto desbordamiento de búfer en Zlib  (Leído 1378 veces)

Desconectado Danae

  • Administrator
  • *
  • Mensajes: 3211
  • Casi siempre en el armario.
    • windowsfacil,  primeros pasos con windows y el pc
Descubierto desbordamiento de búfer en Zlib
« en: 09 de Julio de 2005, 11:11:28 pm »
Descubierto desbordamiento de búfer en Zlib
 
Se ha descubierto una vulnerabilidad en la librería zlib que podría ser
explotada por usuarios maliciosos para provocar denegaciones de  servicio o incluso comprometer la seguridad de un sistema que ejecute un programa que a su vez haga uso de versiones afectadas de esta librería (concretamente, versiones inferiores a la 1.2.2-r1).

Zlib es una librería de compresión sin pérdidas que es utilizada por una
gran cantidad de programas.

El problema, descubierto por el equipo de auditoría de código de Gentoo,
es un desbordamiento de búfer, localizado en 'inftrees.c'. La vulnerabilidad se puede dar a la hora de procesar streams corruptos de
datos comprimidos, lo que puede ser aprovechado por un atacante malicioso para provocar la caída del programa que usa esta librería, o
incluso para ejecutar código arbitrario con los privilegios de la aplicación vulnerable.

Diversas plataformas (Gentoo en sí, Debian, FreeBSD, SuSE, Red Hat,
etc.) han publicado ya actualizaciones para solventar el problema. Se
recomienda actualizar a la mayor brevedad posible, y posteriormente
recompilar las aplicaciones que puedan verse afectadas por este problema.

Aunque oficialmente aun no ha salido el parche en la página web de
zlib, desde otras distribuciones como Gentoo se facilita un diff que
reproducimos a continuación:

>>>>>
- --- inftrees.c  2005-07-02 08:56:13.000000000 -0400
+++ inftrees.c  2005-07-02 08:57:15.000000000 -0400
@@ -134,7 +134,7 @@
         left -= count[len];
         if (left < 0) return -1;        /* over-subscribed */
     }
- -    if (left > 0 && (type == CODES || (codes - count[0] != 1)))
+    if (left > 0 && (type == CODES || max != 1))
         return -1;                      /* incomplete set */

     /* generate offsets into symbol table for each length for sorting */

Fuente: www.hispasec.com

 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License