Ejecución de código arbitrario en Apple Quicktime

SeguridadVirus

Si la aplicación fuera ejecutada con privilegios de administrador podría conseguirse control total sobre el sistema.

La vulnerabilidad está causada por un fallo de límites al procesar respuestas que usan el protocolo RTSP para streaming de audio y vídeo (Real Time Streaming Protocol). La aplicación comete un error al comprobar los límites de una entrada introducida por el usuario de manera que la copia en un búfer de memoria en pila demasiado pequeño. Esto podría ser aprovechado por un atacante remoto para provocar un desbordamiento de búfer a través de una respuesta RTSP que contengan un encabezado Content-Type demasiado largo. La vulnerabilidad es explotable si la víctima abre un stream especialmente manipulado o visita una página web maliciosa. De realizar un ataque con éxito, el atacante podría ejecutar código arbitrario con los privilegios con los que se ejecuta la aplicación.

La vulnerabilidad, que fue hecha pública el día 23 por Krystian Kloskowski (el mismo que en agosto descubrió un grave fallo en Nessus) podría afectar a todos los usuarios de Apple Quicktime que hagan uso de la versión 7.3 (versión actual) o de cualquiera de las versiones anteriores. Los usuarios de iTunes también se verían afectados por el problema puesto que la última versión de Quicktime está incluida en la instalación de iTunes, el popular software multimedia de Apple.

Poco después de que se conociera la vulnerabilidad, ya se publicó un exploit para Windows XP y Vista que la aprovecha para ejecutar código. En teoría Microsoft Vista, gracias al ASLR (Address Space Layout Randomization), protegería en cierta medida de la ejecución de código derivada de los desbordamientos de búfer, pero no es el caso. Los archivos de sistema sí son colocados en espacios aleatorios, pero el resto de binarios deben tener un bit activo para aprovechar esta funcionalidad. Los programadores de Apple no lo han activado para QuickTime, así que el exploit es igual de funcional en XP y Vista.

Por ahora, según Symantec, el exploit hecho público tiene diferente comportamiento según el navegador.

En Internet Explorer 6 y 7 y Safari 3 Beta, se carga QuickTime como plugin interno. Esto provocaría el desbordamiento y la aplicación dejaría de responder, pero no permitiría la ejecución de código. En Firefox, la petición es manejada directamente por QuickTime como un proceso separado. Como resultado, el atacante podría ejecutar código arbitrario. En cualquier caso, el exploit podría ser reprogramado y funcionar bajo cualquier navegador.

No existe ningún parche disponible por el momento. Para protegerse, es posible bloquear el protocolo RTSP a través de red, o deshabilitarlo en QuickTime desde el panel de control de la aplicación. En Preferencias y seleccionar Tipos de Archivo / Avanzado / MIME Settings y quitar de la selección la descripción RTSP stream bajo la opción Streaming Streaming movies.

Con respecto a los navegadores, es posible deshabilitar el control de ActiveX QuickTime en Internet Explorer, para ello hay que activar el kill bit para los CLSID 02BF25D5-8C17-4B23-BC80-D3488ABDDC6B} y {4063BE15-3B08-470D-A0D5-B37161CFFD69}. Esto evitará que el fallo sea aprovechado a través de una web.

En el caso de Firefox, se recomienda deshabilitar la ejecución de JavaScript bajo páginas no confiables.