Random IRC quote :      <@Shaddy> me siento flower power

Misterios de la vida

perrolocoHola,
Pues nada siguiendo la estela de «iDefense acaba de publicar» xD , iDefense acaba de publicar un advisory del año de la pana. El fallo lo descubrí en febrero de 2006 así que os hacéis una idea. La movida esta en las funciones del DirectX Direct3D que se usan para mapear una textura en memoria.

Uno de los formatos soportados era el TGA, pero DirectX cometía un fallo gordo a la hora de copiar el tga mapeado a un buffer que era dinámicamente reservado usando campos en la header del tga. Es decir, esos campos los puedes modificar a tu gusto. Entonces tenemos un buffer en la heap cuyo tamaño es calculado usando : (Width*Height)*bpp. Por otro lado DirectX mantenía una estructura interna donde el tamaño del fichero era obtenido de la función GetFileSize. A la hora de copiar el fichero mapeado hacia el buffer, usaba el resultado obtenido de GetFileSize por lo que el overflow está claro. Todo el rollo técnico y el código lo podéis leer en el advisory.

Esta vulnerabilidad se probó que era remótamente explotable, incluso con una intervención mínima del usuario, pero ya ves por misterios de la vida Microsoft decidió no publicar un boletin de seguridad y hasta donde yo se, arreglarla silenciosamente. Cosas de Microsoft…

Bueno, aquí podéis descargar el advisory.

Un saludo.

2 Comentarios para “Misterios de la vida”

  1. Comment por mballano | 07/20/07 at 8:03 am

    Has triunfat, pero el perro ese me mira un poco raro :-\

  2. Comment por Ruben | 07/20/07 at 9:09 am

    Cuidado con el perro que esta mu loco

Se han cerrado los comentarios