lunes, 18 de abril de 2011

Denegación de servicio a través del disector NFS en Wireshark 1.4

Se han anunciado una vulnerabilidad de denegación de servicio en Wireshark 1.4.

Wireshark (antiguamente conocido como Ethereal) es una aplicación de auditoría orientada al análisis de tráfico en redes. Su gran popularidad es debida a las funcionalidades que facilitan el análisis de las capturas, como la capacidad para interpretar archivos de capturas generados por hasta 20 diferentes aplicaciones y la gran cantidad de protocolos que soporta, actualmente más de 480. Wireshark es una herramienta de software libre (sujeto a licencia GPL) y está disponible para la mayoría de sistemas operativos Unix y compatibles, así como Microsoft Windows.

El error, que puede hacer que la aplicación deje de funcionar, está localizado en la función 'dissect_nfs_clientaddr4' del archivo 'packet-nfs.c'. Para que el fallo pueda ser explotado, un atacante remoto debería enviar de un paquete especialmente manipulado a través de la red que está siendo monitorizada o conseguir que la potencial víctima utilice una versión vulnerable de Wireshark para abrir un archivo de captura de tráfico especialmente manipulado.

Lo llamativo de este caso es que error solamente está presente en la versión de 32 bits para la plataforma Windows. El fallo aparece cuando ciertas variables declaradas como 'quint8' son interpretadas por la función 'sscanf' utilizando el formato 'hh'. En Linux éste se corresponde con un char con signo o sin él (en concordancia con el estándar C'99), mientras que en la plataforma Windows se interpreta como int16 y no como int8.

El fallo ha sido arreglado en la versión 1.4.5, que ya puede ser descargada desde http://www.wireshark.org/download.html


Javier Rascón
jrascon@hispasec.com


Más información:


Bug 5209 - Decode of SETCLIENTID calls fails with STATUS_ACCESS_VIOLATION
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5209

No hay comentarios:

Publicar un comentario en la entrada