Apples Safari 15-browser bevat een kwetsbaarheid waarmee elke website de internetactiviteit van de gebruiker kan volgen. Ook kan de kwetsbaarheid de identiteit van de gebruiker onthullen. FingerprintJS, een fraudedetectiedienst voor browsers, ontdekte dat.
FingerprintJS schrijft op zijn blog over de kwetsbaarheid in de vorm van de implementatie van de IndexedDB-api. De kwetsbaarheid zit niet alleen in Safari 15 op macOS, maar ook in alle browsers op iOS en iPadOS 15. De implementatie van deze api in Safari 15 betekent dat elke keer als een website een verbinding maakt met een database, een nieuwe lege database met dezelfde naam wordt gecreëerd in alle andere frames, tabbladen en vensters in dezelfde browsersessie. Dit is volgens FingerprintJS een schending van het same-origin-beleid.
IndexedDB is bedoeld voor client-side storage, bevat nogal wat data en wordt door alle grote browsers ondersteund. Net als veel soortgelijke api's hanteert Indexed DB het same-origin-beleid. Dat betekent dat er restricties van kracht zijn bij hoe scripts of documenten die vanuit een bepaalde bron worden geladen en dat die niet zomaar in verbinding kunnen staan met een andere bron.
Volgens FingerprintJS wordt dat principe geschonden en is het feit dat de databasenamen kunnen uitlekken over meerdere bronnen een duidelijke privacyschending. Het maakt het mogelijk dat willekeurige websites erachter kunnen komen welke websites de gebruiker bezoekt in andere tabbladen of vensters. Volgens de dienst is dit mogelijk, omdat databasenamen doorgaans uniek en websitespecifiek zijn.
Daarbij wijst FingerprintJS ook specifiek op het feit dat in sommige gevallen websites unieke, gebruikersspecifieke identifiers in databasenamen hanteren. Dat betekent dat geauthenticeerde gebruikers heel precies kunnen worden geïdentificeerd. Daarbij worden YouTube, Google Calendar of Google Keep genoemd als voorbeelden van sites die databases creëren met daarin de geauthenticeerde Google User ID. Als de gebruiker is ingelogd op meerdere accounts, worden er databases voor al deze accounts aangemaakt. Aan de hand hiervan kunnen malafide websites de gebruikersidentiteit achterhalen en zijn meerdere, aparte accounts van dezelfde gebruiker toch aan elkaar te koppelen.
De kwetsbaarheid treft niet alleen Safari 15 op macOS, maar ook alle browsers op iOS en iPadOS 15, omdat die allemaal in navolging van Apples App Store-voorschriften de WebKit-engine gebruiken. Volgens FingerprintJS kunnen gebruikers weinig tegen deze kwetsbaarheid doen, buiten het nemen van 'drastische maatregelen', zoals het standaard blokkeren van alle JavaScript en het alleen toe te staan op sites die worden vertrouwd. FingerprintJS zegt dat er maar een echte oplossing is: het updaten van de browser of het OS zodra het issue door Apple is verholpen. Dat laatste is nog niet gebeurd. De kwetsbaarheid werd op 28 november vorig jaar gemeld.