Un error en la implementación de WebKit de una API de JavaScript llamada IndexedDB puede revelar su historial de navegación reciente e incluso su identidad, según una publicación de blog compartida el viernes por el servicio de huellas dactilares del navegador FingerprintJS.
En pocas palabras, el error permite que cualquier sitio web que use IndexedDB acceda a los nombres de las bases de datos IndexedDB generadas por otros sitios web durante la sesión de navegación de un usuario. El error podría permitir que un sitio web rastree otros sitios web que el usuario visita en diferentes pestañas o ventanas, ya que los nombres de la base de datos suelen ser únicos y específicos para cada sitio web. El comportamiento correcto y normal debería ser que los sitios web solo puedan acceder a sus propias bases de datos IndexedDB.
En algunos casos, los sitios web usan identificadores únicos específicos del usuario en los nombres de la base de datos de IndexedDB. Por ejemplo, YouTube crea bases de datos que incluyen la ID de usuario de Google autenticada de un usuario en el nombre, y este identificador se puede usar con las API de Google para obtener información personal sobre el usuario, como una imagen de perfil, según FingerprintJS. Esta información personal podría ayudar a un actor malicioso a determinar la identidad de un usuario.
El error afecta a las versiones más recientes de los navegadores que utilizan WebKit, el motor de navegador de código abierto de Apple, incluidos Safari 15 para Mac y Safari en todas las versiones de iOS 15 y iPadOS 15. El error también afecta a navegadores de terceros como Chrome en iOS 15 y iPadOS 15, ya que Apple requiere que todos los navegadores usen WebKit en iPhone y iPad. FingerprintJS tiene una demostración en vivo del error que indica que los navegadores más antiguos como Safari 14 para Mac no se ven afectados.
FingerprintJS señaló que no se requiere ninguna acción del usuario para que un sitio web acceda a los nombres de la base de datos IndexedDB generados por otros sitios web.
“Una pestaña o ventana que se ejecuta en segundo plano y consulta continuamente la API de IndexedDB para las bases de datos disponibles puede aprender qué otros sitios web visita un usuario en tiempo real”, dijo la publicación del blog. “Alternativamente, los sitios web pueden abrir cualquier sitio web en un iframe o ventana emergente para desencadenar una fuga basada en IndexedDB para ese sitio específico”.
El modo de navegación privada no protege contra el error en las versiones de Safari afectadas.
Los usuarios deberán esperar a que Apple aborde el error con actualizaciones de software; nos comunicamos con Apple para ver si se planea una solución. Mientras tanto, los usuarios de Safari 15 podrían cambiar temporalmente a un navegador diferente en la Mac, pero esto no es posible en el iPhone o iPad, ya que todos los navegadores se ven afectados por el error de WebKit en esos dispositivos.
El error se informó a WebKit Bug Tracker el 28 de noviembre. Se pueden encontrar más detalles en la publicación de blog de FingerprintJS, informada anteriormente por 9to5Mac.