La publicación de esta vulnerabilidad ha sido realizada después de que Apple programase el despliegue del parche para primavera de 2021.
El investigador de ciberseguridad Pawel Wylecial, de la empresa REDTEAM, 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()
.
No es un problema muy serio ya que requiere interacción del usuario; sin embargo, es muy sencillo hacer invisible el fichero compartido a la víctima. Un símil que se me ocurre sería un ataque de clickjacking cuando se intenta engañar a una víctima para que realice alguna acción.
Pawel Wylecial en su informe.
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.
Más información:
Stealing local files using Safari Web Share API https://blog.redteam.pl/2020/08/stealing-local-files-using-safari-web.html
Comentarios recientes