Safariの最新版に、閲覧履歴や、ログインしているGoogleアカウントの一部情報が漏洩する危険性のある深刻な不具合が存在するとFingerprintJSが伝えています(9to5Mac)。
記事によると、MacとiOSのSafariのIndexedDB実装にはバグが存在し、特定のウェブサイトが自分のドメインだけでなく、任意のドメインのデータベースの名前を見ることができるとのこと。見つかったデータベース名をルックアップテーブルから識別情報を抽出するために使用することができ、ライブデモではこの機能を実際に試すことができます。
例えば、Googleのサービスでは、ログインしているアカウントごとにIndexedDBインスタンスを保存していて、このデータベースの名前がGoogleのユーザーIDに対応しています。ブログ記事で紹介されているエクスプロイトを使用することで、悪意のあるサイトがユーザーのGoogle IDをスクレイピングし、そのIDを使って他の個人情報を知ることができるのです。実際、概念実証デモでは、ユーザーのプロフィール画像が公開されています。
今回発見されたバグは、すべてのIndexedDBデータベースの名前がどのサイトでもアクセス可能であるというもので、各データベースの実際のコンテンツへのアクセスは制限されています。Chromeなど他のブラウザでは、ウェブサイトは自身のドメイン名と同じドメイン名によって作成されたデータベースのみを見ることができるようになっています。
iPhone、iPad、Macに搭載されているSafariの現在のバージョンすべてが影響し、FingerprintJSは11月28日にAppleにこのバグを報告したものの、まだ解決されていないとしています。