
Informe técnico de CVE-2025-24104: una evasión del sandbox de iOS mediante una evasión de validación de enlaces simbólicos en la restauración de copias de seguridad, permitiendo lecturas arbitrarias de archivos fuera del sandbox.
Reporté un bug que Apple luego rastreó como CVE-2025-24104. En mi informe original, demostré cómo una copia de seguridad maliciosa podía usarse para eludir las restricciones del sandbox. Sin embargo, la descripción inicial de Apple afirmaba que esta vulnerabilidad podría llevar a modificaciones de archivos protegidos del sistema. Quiero aclarar el asunto: este bug en realidad permite a un atacante leer archivos arbitrarios fuera del sandbox.
Cuando investigué el problema, descubrí que la vulnerabilidad se origina por una falta de validación adecuada de enlaces simbólicos durante el proceso de restauración de copias de seguridad. Específicamente, si se crea una copia de seguridad donde el archivo
/private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles/Library/ConfigurationProfiles/CloudConfigurationDetails.plist
se reemplaza con un enlace simbólico, el sistema termina leyendo un archivo de tu elección, incluso si se encuentra fuera del sandbox.
El fallo:
El servicio de bloqueo mc_mobile_tunnel no verifica si CloudConfigurationDetails.plist es un enlace simbólico. Si lo es, el servicio sigue el enlace, permitiendo a un atacante recuperar el contenido de cualquier archivo restringido.
Pasos para reproducir:
CloudConfigurationDetails.plist es un enlace simbólico que apunta a cualquier archivo restringido.GetCloudConfiguration al servicio com.apple.mobile.MCInstall. En lugar de obtener el contenido esperado del archivo, el servicio devolvió el contenido del archivo al que apuntaba mi enlace simbólico.La capacidad de leer archivos arbitrarios fuera del sandbox es un problema grave. Significa que datos sensibles del sistema, que deberían permanecer protegidos, podrían quedar expuestos a atacantes. Esto no es solo un bug menor, es una falla de seguridad fundamental en cómo se manejan las copias de seguridad.
Para solucionarlo, el proceso de restauración de copias de seguridad necesita una verificación más rigurosa:
CloudConfigurationDetails.plist, el servicio debe verificar que sea un archivo normal y no un enlace simbólico. Si es un enlace simbólico, la restauración debería rechazarlo o manejarlo de forma segura.Con el lanzamiento de iOS 18.3, Apple introdujo verificaciones adicionales en el framework ManagedConfiguration para eliminar cualquier enlace simbólico encontrado en la carpeta ConfigurationProfiles. Específicamente:
MCRemoveFileIfSymlink.MCFixHostileSymlinks.ConfigurationProfiles es identificado como un enlace simbólico, se elimina inmediatamente.Puedes ver los detalles del bindiff aquí:
https://github.com/blacktop/ipsw-diffs/blob/main/18_2_22C152__vs_18_3_22D5034e/DYLIBS/ManagedConfiguration.md
A continuación se muestra una captura de pantalla de mi propio diff donde se muestran las nuevas verificaciones añadidas:

Vale la pena mencionar que esta nueva mitigación no soluciona el problema al 100%. Ya encontré un método para eludirla porque Apple no implementó mi solución recomendada, pero mantendré esos detalles en privado.
Este es mi relato personal de CVE-2025-24104, enfatizando que la descripción original de Apple no acertó. El verdadero riesgo es la lectura no autorizada de archivos fuera del sandbox, no las modificaciones a archivos del sistema.
Exploit encontrado por Hichem Maloufi (ifpdz)