VideoLan Organization, responsable de VLC media player, ha publicado un boletín de seguridad en el que corrige una vulnerabilidad para este reproductor que podría permitir a un atacante ejecutar código arbitrario.
VLC (VideoLAN client) es un reproductor multimedia de código abierto y distribuido con licencia GPL que dispone de soporte para diversos códecs de audio y vídeo, además los formatos DVD, VCD y protocolos de streaming.
El error es producido por un mal procesado en vídeos ASF localizado en el fichero 'modules/demux/asf/asf.c'. Podría causar un desbordamiento de búfer que podría hacer que el reproductor deje de funcionar e incluso podría permitir una ejecución de código con los privilegios con los que se esté ejecutando el reproductor al intentar reproducir un vídeo ASF especialmente manipulado.
Se han visto afectadas dos funciones: 'GETVALUE2b' y 'DemuxPacket'. La primera función se ha sustituido por la función 'GetValue2b' que ahora tiene la siguiente definición:
static inline int GetValue2b(int *var, const uint8_t *p, int *skip, int left, int bits)
que admite dos parámetros más que la función anterior, y en la que ahora la sentencia switch del parámetro 'bits' hace una comprobación más para evitar que la variable 'var' (pasada ahora como puntero) pueda apuntar a una dirección errónea.
En la segunda función afectada, los cambios producidos han sido principalmente la inicialización de las variables utilizadas para evitar que en la declaración de las variables, estas contengan "basura" y que en algún tramo de la ejecución del programa tengan valores inesperados.
El error ha sido solucionado en la versión 2.0.6 y está ya disponible su descarga en su página oficial.
Más información
VideoLAN Security Advisory 1302 http://www.videolan.org/security/sa1302.html
VLC official GIT repository http://git.videolan.org/?p=vlc.git
http://www.laflecha.net/canales/seguridad/noticias/ejecucion-de-codigo-a-traves-del-formato-asf-en-vlc-media-player