Vulnerabilidad en SUDO para OS X permite acceder como root

Hace unos días comentábamos la existencia de un fallo en algunas aplicaciones de OS X e iOS que provocaba que estas se colgasen al intentar procesar una cadena de caracteres en árabe. Este fallo no representa, de momento, nada más que una molestia para aquellos usuarios de los sistemas operativos de Apple sin un riesgo de seguridad aparente. No obstante, también en fechas recientes se ha dado a conocer la existencia de una vulnerabilidad en OS X que permitiría acceder a este sistema con permisos de root (el usuario con más privilegios del sistema).

Se tiene constancia de esta vulnerabilidad desde hace al menos seis meses y afecta a las versiones de SUDO (herramienta que permite ejecutar aplicaciones con los permisos de otro usuario, normalmente root o administrador de sistema) que van desde la 1.6.0 hasta la 1.7.10p y desde la 1.8.0 hasta la 1.8.6p.

Sudo_OSX_Mountain_Lion

El problema es que, a día de hoy, todas las versiones presentes en OS X son vulnerables y, a pesar de que existen versiones superiores en el sitio oficial que solucionan el problema, los usuarios de OS X, a diferencia de los de GNU/Linux, deben esperar a que Apple lo distribuya en una futura actualización.

¿Por qué tanto revuelo ahora 6 meses después de haberse descubierto la vulnerabilidad? Bien sencillo: la gravedad de un fallo de seguridad también depende del riesgo de que este sea explotado por atacantes. Al haberse presentado recientemente un módulo para el conocido framework Metasploit es más que probable que esta vulnerabilidad sea aprovechada para atacar sistemas vulnerables. No obstante, existen una serie de requisitos para poder aprovecharse de esta vulnerabilidad.

Para empezar, la sesión iniciada debe pertenecer a un usuario con permisos administrativos, algo bastante común, pero también debe haber ejecutado previamente el comando “sudo” en el sistema (algo no muy frecuente entre usuarios de OS X a menos que tengan conocimientos técnicos o hayan tenido que resolver algún problema en el sistema).

El hecho de que el exploit existente sea del tipo local también mitiga en parte el alcance de esta vulnerabilidad, aunque no debemos olvidar que es posible obtener una shell en un equipo remoto engañando al usuario para que ejecute un fichero especialmente preparado usando, por ejemplo, alguno de los múltiples fallos en Java. Una vez obtenido el acceso, se puede ejecutar el comando “sudo –k” y cambiar la hora del sistema al 1 de enero de 1970 para conseguir que este acceso no expire. Los chicos de seguridad Apple tienen una interesante explicación en su blog acerca de cómo se utiliza este nuevo módulo para Metasploit.

De momento, Apple no ha hecho declaraciones acerca de cuándo actualizará sudo para sistemas OS X, pero, conociendo los requisitos necesarios para aprovecharse de esta vulnerabilidad, no sería mala idea que los usuarios preocupados por sus seguridad aplicaran uno de los consejos más recomendados también en sistemas Windows: crear un usuario con permisos limitados para el uso habitual del sistema. Esto se puede realizar en OS X accediendo al menú “Preferencias del sistema” > “Usuarios y grupos” y creando un nuevo usuario con permisos Estándar.

eset_nod32_osx_users

Usar usuarios con permisos restringidos es lo recomendable para todos aquellos usuarios que no necesiten modificar ciertos parámetros del sistema y es algo que ayuda a mitigar infecciones de malware o ataques externos hacia nuestro sistema. Esta medida es algo que la mayoría de sistemas GNU/Linux implementan por defecto pero que en otros sistemas se deja a decisión del usuario, haciendo que este sea más vulnerable.

Respecto a esta vulnerabilidad, esperamos que Apple decida publicar un parche de seguridad que solucione lo antes posible este fallo.

Josep Albors

ESET Security Forum: “El Derecho al Olvido no existe en la Red. No hay mecanismos claros para eliminar de Internet contenidos personales“