Ejecución de código remoto en Mac OS a través de Safari
Se han encontrado 3 vulnerabilidades Zero-Day que permitían la ejecución de código en el sistema a través del navegador Safari.
El equipo de seguridad ofensiva de Dropbox realizó una práctica de Red Team en la que se encontraron 3 vulnerabilidades diferentes, que juntas permitieron abrir en el sistema a través de Safari una aplicación firmada para que ejecutase otra no firmada con código malicioso.
El primero de los fallos, identificado con el CVE-2017-13890, se encontraría en la asignación de los “Core-Type” para la extensión “.smi” y sus aplicaciones autorizadas. Dicha extensión es utilizada al mismo tiempo para el Core-Type com.real.smil, empleado por Real Player y que no supondría ningún riesgo, como por el Core-Type com.apple.disk-image-smi, que corresponde a Disk Image Mounter. Al ser la extensión “.smi” utilizada por Real Player, ésta se marca como segura, a pesar de que Disk Image Mounter sí puede suponer un riesgo.
Aunque la vulnerabilidad anterior permite abrir una imagen, con el inconveniente que ello supone, es la vulnerabilidad CVE-2018-4176 en la utilidad bless la que supone un auténtico problema, al permitir ejecutar una aplicación. El fallo se encuentra en el parámetro “–openfolder” de bless, que al contrario de lo que dice su descripción, en vez de abrir el directorio contenedor con el explorador de archivos (Find), ejecuta la aplicación de la ruta si ésta fuese un bundle con extensión “.bundle”.
A pesar de todo, y aunque con la anterior vulnerabilidad ya es posible ejecutar una aplicación, Mac OS incluye una medida de seguridad adicional que impide la ejecución de aplicaciones no firmadas que se hayan descargado desde Safari. En caso de abrir una aplicación no firmada, Gatekeeper, el encargado de esta medida de seguridad, muestra una advertencia e impide la ejecución. No obstante, Gatekeeper sí permite la ejecución si es una aplicación firmada, y se ha descubierto que modificando el fichero Info.plist del bundle (lo cual no invalida la firma) es posible asociar una nueva extensión para permitir la ejecución de un programa, y que Gatekeeper no controla si dicho programa está firmado o no. Se ha asignado el identificador CVE-2018-4175 a dicha vulnerabilidad, y ha podido comprobarse su funcionamiento ejecutando un script no firmado a través de un bundle modificado que ejecuta la aplicación Terminal del sistema.
Los fallos fueros corregidos en la actualización de marzo de este año. Las versiones actualizadas son MacOS High Sierra 10.13.4, Security Update 2018-002 Sierra, y Security Update 2018-002 El Capitan. En caso de no haber recibido alguna de estas actualizaciones en su momento, se urge actualizar lo antes posible.
Juan José Oyague
joyague@hispasec.com
Más información:
Offensive testing to make Dropbox (and the world) a safer place:
https://blogs.dropbox.com/tech/2018/11/offensive-testing-to-make-dropbox-and-the-world-a-safer-place/
About the security content of macOS High Sierra 10.13.4, Security Update 2018-002 Sierra, and Security Update 2018-002 El Capitan:
https://support.apple.com/en-us/HT208692
Powered by WPeMatico