viernes, 18 de septiembre de 2009

Ejecución de código arbitrario en VLC Media player

Existen varios errores en la implementación de ciertos codecs de vídeo de VLC. Un atacante remoto podría aprovechar este problema para causar una denegación de servicio y posiblemente ejecutar código si la víctima reproduce un fichero multimedia especialmente manipulado.

VLC Media Player es un completo reproductor multimedia que soporta un gran número de formatos, como pueden ser: MP3, MPEG, DIVX, VCD o DVD entre otros, así como varios protocolos de streaming. Además está disponible para un amplio número de plataformas distintas como Windows, Mac OS X y para varias distribuciones de Linux. VLC también puede ser utilizado como servidor en unicast o multicast, en IPv4 o IPv6, para una red de banda ancha y tiene disponible un plug-in para Firefox que permite ver algunos archivos Quicktime y Windows Media desde páginas web sin necesidad de utilizar los reproductores de Apple o Microsoft.

Esta vulnerabilidad es debida al uso de la función "sprintf", que no realiza correctamente la inicialización de la estructura. Esta función se ha sustituido por "snprintf", cuya diferencia radica en la incorporación de un parámetro que controla el tamaño.

La solución a este problema se encuentra en los "commits" del proyecto, pero aún no hay una versión estable disponible para descargar.


Víctor Antonio Torre
vtorre@hispasec.com


Más información:

Commitdiff de Demux MP4:
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=c5b02d011b8c634d041167f4d2936b55eca4d18d

Commitdiff para Demux AVI:
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=861e374d03e6c60c7d3c98428c632fe3b9e371b2

Commitdiff para Demux ASF:
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=dfe7084e8cc64e9b7a87cd37065b59cba2064823

Referencia de Gcc sobre 'snprintf':
http://gcc.gnu.org/ml/gcc/2009-05/msg00577.html

No hay comentarios:

Publicar un comentario en la entrada