Se ha hecho pública una prueba de concepto que muestra cómo el navegador Safari permite filtrar ficheros locales a través de la API Web Share. Esta API permite a usuarios compartir enlaces desde el navegador a través de herramientas de terceros, como aplicaciones de correo o de mensajería.
La vulnerabilidad se aprovecha del uso de enlaces con el esquema file://<URI> para añadir un fichero en el mensaje que se va a compartir a través de la función navigator.share().
En la prueba de concepto se ve cómo compartiendo contenido a través de la aplicación Mail de iOS se adjunta el fichero /etc/passwd siendo invisible a primera vista salvo que el usuario haga scroll hacia abajo. Otra prueba de concepto en vídeo muestra cómo se puede filtrar el historial de navegación de Safari simplemente cambiando la URI a compartir por file:///private/var/mobile/Library/Safari/History.db
Un aspecto llamativo de esta vulnerabilidad es que fue reportada a mediados de abril, y según las respuestas recibidas por Wylecial, desde Apple esperaban incluir el parche en la actualización de primavera de 2021, un año después de haber sido descubierto. Todo esto, sumado a largos lapsos de tiempo sin recibir actualizaciones sobre el estado del reporte ha motivado que finalmente Wylecial haya hecho público su descubrimiento. El programa de recompensas de Apple establece que es la empresa de Cupertino la que determina cuándo se publican los detalles de una vulnerabilidad (generalmente junto al parche que soluciona el problema), lo cual puede exceder el periodo de 90 días estandarizado en la industria.
La vulnerabilidad ha sido probada en iOS (13.4.1, 13.6), MacOS Mojave 10.14.16 con Safari 13.1 y MacOS Catalina 10.15.5 con Safari 13.1.1. Algunos usuarios han comprobado que en las versiones beta de iOS 14 y MacOS 11 no se puede reproducir, aunque tampoco hay confirmaciones por parte de Apple de haber corregido este fallo en dichas versiones o si aplicarán medidas próximamente en los sistemas iOS 13 y MacOS 10.
Créditos: Una al día