
CVE-2022-46718: una aplicación puede ser capaz de leer información sensible de ubicación.
tl;dr agregar una verificación de entitlement a parsecd
CoreParsecLocation es una aplicación de ejemplo que demuestra cómo una aplicación de terceros puede acceder a la ubicación precisa de un usuario sin su consentimiento o permiso. parsecd/CoreParsec también proporciona información como sugerencias de búsqueda localizadas, tarjetas de conocimiento y un ID de usuario temporal. Afortunadamente, no creo que el ID de usuario se persista o recicle en este momento.
Durante una expedición de rutina con Frameworks, noté un activo hacia . Después de unos días de experimentar, descubrí que respondería a consultas de búsqueda de cualquier aplicación siempre que falsificara la información de encabezado correcta. En este caso, usé la clase , que configura una sesión para Spotlight.
NSXPCConnectionparsecdparsecdSPPARSessionAl principio, asumí que el objeto PARResponse solo devolvería una ubicación GeoIP (que no es muy útil por sí sola). Sin embargo, después de probar numerosas consultas de búsqueda, descubrí que buscar "restaurantes" haría que parsecd obtuviera la ubicación precisa del usuario. Luego devolvía la información de ubicación a través del objeto PARResponse.
parsec también devuelve información adicional, como resultados de noticias localizadas y sugerencias de búsqueda. No creo que estos contengan información identificable del usuario en este momento. Después del envío, planeo explorar más a fondo las respuestas adicionales.
parsecd solicita una nueva ubicación, pero no vi un indicador de ubicación en la barra de estado durante mis pruebas.Dynamic (que se encuentra aquí: https://github.com/mhdhejazi/Dynamic). Esta biblioteca no es necesaria para explotar parsecd, pero facilita el uso de APIs de terceros sin encabezados expuestos.parsecd devolverá la ubicación sin ella.