Múltiples denegaciones locales de servicio en Mac OS X

MacWorkspace

Se han encontrado varios problemas de seguridad en Mac OS X, que podrían permitir a un atacante local provocar una denegación de servicio e incluso potencialmente, ejecutar código arbitrario.

El primer fallo se debe a un error en el manejo de interfaces kqueue y kevent a la hora de registrar eventos en el núcleo. Si un proceso registra una cola y un evento a través de la función kevent, crea un fork e intenta registrar otro evento para la misma cola padre, un atacante local podría provocar un “system panic”.

El segundo fallo se debe a un error en la función fatfile_getarch2, que provoca un desbordamiento de enteros y potencialmente, permitiría la ejecución de código arbitrario en modo kernel al llevar a una condición de corrupción de memoria. Puede ser aprovechada a través de binarios Mach-O Universal especialmente manipulados. El problema afecta también a la herramienta otool.

También en los binarios Mach-O existe un problema que provoca una corrupción de memoria cuando un binario especialmente manipulado tiene una estructura mach_header válida y estructuras de datos load_command corruptas. Esto puede provocar una denegación de servicio por parte de usuarios locales.

Todos los fallos han sido confirmados en las últimas versiones de Mac OS X totalmente parcheados y han sido descubiertos en la última semana bajo el programa de “Month of kernel bugs” o mes de los fallos en el núcleo. Esto quiere decir que no existe parche oficial para ninguno y que se ha publicado prueba de concepto. Se aconseja limitar el uso del sistema a usuarios locales confiables.