
CVE-2023-40429: Una aplicación puede ser capaz de acceder a datos sensibles del usuario.
HostName es una aplicación de ejemplo que demuestra cómo una aplicación de terceros puede acceder al nombre de dispositivo de un usuario sin el entitlement com.apple.developer.device-information.user-assigned-device-name.
En iOS 16, Apple añadió el entitlement com.apple.developer.device-information.user-assigned-device-name para evitar que las aplicaciones de terceros pudieran tomar la huella digital de un usuario mediante el nombre del dispositivo. Sin embargo, la API ProcessInfo.processInfo.hostName se rompió en el proceso, lo que permitía a un desarrollador de terceros obtener el nombre de host de red del dispositivo sin un entitlement. Aunque el nombre de host no es una copia exacta 1:1 del nombre del dispositivo, se acerca bastante. Por ejemplo, mi dispositivo se llama Astronaut Sloth, lo que me da un nombre de host de Astronaut-Sloth.
Cuando un desarrollador de terceros accede a la API ProcessInfo.processInfo.hostName, al usuario se le muestra un aviso de «Permitir que se comunique con dispositivos de la red local». En iOS 15, la API ProcessInfo.processInfo.hostName devolvía localhost si el usuario denegaba esta API. Sin embargo, en iOS 16 esto también se rompió: siempre se devolvía un nombre de dispositivo sin importar la entrada del usuario.