1/19 更新: Github の投稿によると、Apple は修正に取り組んでいます。
ハッカーが iPhone をクラッシュの無限ループに陥らせる可能性のあるバグを Apple が修正してからわずか数日後、FingerprintJS は、インターネット活動や個人データを公開 Web サイトに公開する可能性のある Safari の脆弱性を発見しました。
Mozillaによると、このバグはIndexedDB APIに起因しており、このAPIは大量の構造化データをクライアント側で保存するために使用されます。FingerprintJSの説明によると、IndexedDBは主要ブラウザで使用されている低レベルAPIであるため、多くの開発者は「技術的な側面の大部分を抽象化し、より使いやすく開発者フレンドリーなAPIを提供するラッパーを使用することを選択しています」。
そのため、Safari版のIndexedDBは、あるオリジンから読み込まれたドキュメントやスクリプトが他のオリジンのリソースとやり取りする方法を制限する同一オリジンセキュリティメカニズムに違反していると、FingerprintJSは指摘しています。その結果、任意のウェブサイトが、ユーザーが別のタブやウィンドウで訪問した他のウェブサイトをスパイできる可能性があります。
これは重大なバグです。OSXでは、Safariユーザーは(一時的に)別のブラウザに切り替えることで、オリジン間のデータ漏洩を防ぐことができます。iOSユーザーにはそのような選択肢はありません。Appleが他のブラウザエンジンの使用を禁止しているからです。https://t.co/aXdhDVIjTT
— ジェイク・アーチボルド(@jaffathecake)2022年1月16日
一部のウェブサイトではデータベース名にユーザー固有の識別子を使用しているため、FingerprintJSは、YouTube、Googleカレンダー、Google Keepなどのサイトで認証済みユーザーが「一意かつ正確に識別」される可能性があると説明しています。これらのサイトにはGoogle IDを使用してログインするため、そのアカウント用に作成されたデータベース(個人情報を含む)が漏洩する可能性があります。FingerprintJSは、TwitterやBloombergなど、このバグの影響を受ける他の複数のサイトも発見しました。
Github 上の Webkit の投稿 (9to5Mac が発見) によると、Apple はこの問題を認識しており、修正に取り組んでいるとのことです。
FingerprintJSが作成したデモで、このバグの挙動を確認できます。唯一の既知の緩和策は、macOSでブラウザを変更することです。iOSおよびiPadOSユーザーは、Appleのブラウザエンジンの取り扱いにより選択肢が限られていますが、FingerprintJSによると、デフォルトですべてのJavaScriptをブロックし、信頼できるサイトでのみ許可するという方法もあります。あるいは、アップデートのリリースを待つしかありません。Appleは現在、iOS 15.3とmacOS 12.2のリリースに向けて準備を進めていますが、Safariの修正が含まれているかどうかは不明です。
著者: マイケル・サイモン、Macworld編集長
マイケル・サイモンは20年以上にわたりAppleを取材しています。iPodがまだiWalkだった頃からSpymacで噂を取材し始め、Appleがこれまでに製造したほぼ全てのiPhoneを所有しています。妻と息子、そして数え切れないほどのガジェットと共にコネチカット州に住んでいます。