A FingerprintJS relatou a descoberta de um bug no browser Safari 15 da Apple que abre o acesso a vulnerabilidades que podem ser exploradas para expor o histórico de navegação dos utilizadores. E não são apenas os utilizadores da Apple que podem ser “vasculhados”, como também da Google, no caso de estar autenticado com a sua conta. O bug é causado pela API IndexedDB, que permite aos utilizadores guardarem, do seu lado, uma grande quantidade de dados. É suportado por todos os grandes browsers e usado de forma comum.

A API segue a política “same-origin”, basicamente um mecanismo fundamental de segurança que restringe como os documentos ou scripts carregados de uma origem podem interagir com recursos de outras origens. Uma origem é definida pelo protocolo, domínio e a porta do URL usado para o aceder. A API é uma ferramenta utilizada para que os websites anteriormente visitados sejam mais rápidos a abrir em futuras sessões.

O que está a acontecer é que o bug, tanto no Safari 15 no macOS, como nos browsers do iOS e iPadOS 15, estão a violar essa política “same-origin”. O especialista explica que sempre que o website interage com a base de dados, uma nova base de dados vazia, com o mesmo nome, é criada em todos os frames ativos, abas e janelas com a mesma sessão do browser. As janelas e abas por norma partilham a mesma sessão, a não ser que se mude para um perfil diferente, no Chrome, por exemplo, ou se abra uma janela privada.

O problema é que a vulnerabilidade está a expor dados recolhidos a websites que não os recolheram. Websites como o YouTube, Google Calendar ou Google Keep criam bases de dados que incluem a identificação do utilizador autenticado, e no caso de o utilizador estar ligado a múltiplas contas, as bases de dados são criadas para todas estas contas. “Não só isso implica que websites maliciosos ou não confiáveis possam saber a identidade dos utilizadores, como permite ligar todas as contas separadas utilizadas pelo mesmo utilizador”, explica a empresa.

Para determinar quantos websites foram afetados, a Fingerprintjs verificou os 1.000 mais visitados segundo a Alexa, de forma a perceber quais utilizam o IndexedDB. O resultado mostrou que mais de 30 websites interagem com bases de dados indexadas na sua página principal, sem qualquer interação adicional do utilizador ou a necessidade de se autenticar. “Suspeitamos que o número seja significativamente mais elevado em cenários reais, pois os websites conseguem interagir com bases de dados em subpáginas, depois de ações especificas dos utilizadores ou em partes autenticadas desse site”.

É ainda referido que mesmo no modo privado do Safari 15, o problema persiste, embora seja reduzida a quantidade de informação sujeita pelo bug, uma vez que a navegação é restringida a uma única aba da janela. Mas se visitar diferentes websites nessa janela, as respetivas bases de dados podem ser igualmente partilhadas na fuga de dados.

Segundo os especialistas, o bug já foi reportado, juntamente com uma demonstração a reproduzir a vulnerabilidade. No entanto, a Apple ainda não corrigiu o problema e não há muito que os utilizadores possam fazer para se protegerem sem tomarem medidas drásticas, diz a empresa. Uma das opções é bloquear todo o JavaScript por defeito e permitir apenas o acesso aos websites que sejam de confiança. Claro que isso vai causar transtornos na navegação. Por outro lado, enquanto o problema persistir, é aconselhado aos utilizadores da Apple mudarem temporariamente de browser, embora isso seja impossível no iOS e iPadOS. É aconselhando manter-se atento às atualizações, assim que a Apple corrigir o problema.