IndexedDB は主要なブラウザと互換性があり、Web ページからの大量の情報を保存するデータベースとして機能する API ですが、 Safari には重大なプライバシー問題となるバグがあります。 FingerprintJSが発見したように、このバグは具体的には、前述のツールを使用する Web サイトが他のページのデータ、ユーザーの個人情報、検索履歴にアクセスできるようにします。
この API は開発者によって一般的に使用され、 Web サイト用に単一のデータベースを作成するように設計されています。つまり、保存された情報には同じページからのみアクセスでき、第三者はアクセスできません。一方、Safari の WebKit から発生するエラーにより、任意の Web サイトがタブまたはウィンドウで開かれたページのデータベースにアクセスすることが可能になります。
「Web サイトがデータベースと対話するたびに、同じブラウザー セッション内の他のすべてのアクティブなフレーム、タブ、ウィンドウに同じ名前の新しい (空の) データベースが作成されます。」
この Safari のバグの問題は、ユーザーの個人データに対する明らかな違反を超えています。前述のポータルによると、IndexedDB を使用する Web サイトの一部には、通常、一意のユーザー ID が保存されています。たとえば、YouTube は Google ユーザー ID をそのデータベースに保存します。これには、プロフィール画像など、ユーザーを特定するために悪意のある Web サイトがアクセスできる公開情報が含まれます。
iOS 15 の Safari と Chrome の IndexedDB バグの修正はありますか?
このエクスプロイトは主に、iOS 15、iPadOS 15、macOS Monterey で利用可能なApple のブラウザのバージョンであるSafari 15 に影響を与えます。ただし、さまざまなオペレーティング システムの前述のバージョンで実行される他のブラウザも影響を受けます。その 1 つは iOS 上のGoogle Chromeです。これは、IndexedDB API を含む Apple のナビゲーション エンジンである WebKit を使用しているためです。
現時点では、Web サイトが同じブラウザーで開いている他のページのデータベースにアクセスすることを防ぐ決定的な方法はありません。実際、このバグは Safari や Chrome のプライベート タブにも当てはまります。他の Web サイトからデータにアクセスできないようにする唯一の方法は、ブラウザーでのJavascriptの実行をブロックすることです。ただし、これにより、画像やビデオなどの Web サイトの重要な要素が作成される可能性があります。は見えません。 Apple は今後数時間以内にバグを修正するパッチをリリースする可能性があります。したがって、iOS、iPadOS、Safari および Chrome で利用可能なアップデートがないか定期的に確認することをお勧めします。
参考資料一覧
- https://fingerprintjs.com/blog/indexeddb-api-browser-vulnerability-safari-15/
