Vulnerabilidad OSX
Versiones Afectadas
Version: 10.10.X
Descripcion
Con la llegada de la version OS X 10.10 Apple ha añadido una nueva feature al dynamic linker dyld.
Una de estas nuevas funciones es la variable de entorno DYLD_PRINT_TO_FILE que permite el log de errores a un fichero cualquiera, segun su man:
DYLD_PRINT_TO_FILE
This is a path to a (writable) file. Normally, the dynamic linker writes all logging output (triggered by DYLD_PRINT_* settings) to file descriptor 2 (which is usually stderr). But this setting causes the dynamic linker to write logging output to the specified file.
Esto se puede aprovechar para escalada de privilegios sin problema alguno.
Como se puede comprobar, ejecutar desde una terminal cualquiera sin root:
EDITOR=/usr/bin/true DYLD_PRINT_TO_FILE=/FOO crontab -e
Acto seguido comprobamos si se ha creado el fichero:
ls -l /FOO
-rw-r--r-- 1 root wheel 0 23 Jul 21:48 /FOO
En este caso, tenemos un sistema inseguro.
Panico!!!!! que hago?!
Existen dos opciones para hacer ya de los yases:
1) Usar el modulo SUIDGuard realizado y firmado por los amigos de sektioneins disponible aquí:
https://github.com/sektioneins/SUIDGuard
O Aquí:
https://www.suidguard.com/
o bien:
2) Actualizar a "El Capitan" Beta.
No se sabe si Apple ya tiene conocimiento de ello, el fallo se ha descubierto a principio de mes, y aun no se le ha dado mucha baza por internete. Esperamos que saquen un parche o algo en breve. Como los amigos de Sektioneins, que han usado un Modulo de Kernel BSD reconocido por el sistema para añadir el SUIDGuard, siendo este opensource, esperemos que apple lo adopte en breve.