根本的な欠陥なのでなかなか穴を塞げませんでした
Google、Chromeブラウザの20余年の欠陥を修正。ユーザーの閲覧履歴漏洩を防止

Googleは、Chromeブラウザによるウェブページ表示のなかにある、ハイパーリンク設定されたテキストの表示に関連するセキュリティ上の欠陥を修正したことを明らかにした。20年以上前から存在したというこの欠陥には、ユーザーの閲覧履歴に関する機密情報を漏洩する可能性があったという。
ウェブブラウザでは標準的に、ウェブページのテキストに指定されたハイパーリンク部分が青く表示される。そして、一度そのリンクをクリックしてページ表示を遷移させれば、あとで元のページに戻ったときに、リンク部分のテキストが紫色に変わっているはずだ。これにはCSSの擬似クラスである:visitedセレクターが使われている。
:visitedセレクターにより、ユーザーは一度訪れたリンク先をスムーズに認識できるのだが、その一方で、この擬似クラスがウェブサイト側から認識できてしまうと、ユーザーの閲覧履歴がウェブサイトに知られることになる。Googleいわくこれは「根本的な設計上の欠陥」であるため、各種ブラウザはそれぞれ、:visitedセレクターがサイト側から読めてしまわないよう、特定の状況下でウェブアプリケーションに対し正しい情報を返さないよう、様々な暫定的対策を盛り込んで来た。
Googleは、4月2日付の開発者向けブログで、このリンク表示仕様について説明し、リンクをクリックしたかどうかを認識するブラウザのCookieが、「分割されていない」ことが原因になっていると述べた。要するに、あるページのリンクをクリックしたときに、そのリンクを表示しているページのすべてのリンク先ウェブサイトも、訪問履歴に追加されるようになっているとのことだ。
そして、最新のChromeアップデートではこの脆弱性を修正し、クリックしたリンクに関するデータを複数のウェブサイト間で共有することなく、個別に保存するよう変更を施したとのことだ。このアップデートはChrome 136アップデートで正式に展開される予定となっている。なお、この機能はまだ安定していないとされるため、すべての状況で期待どおりに動作しない可能性があるとしている。
上に述べたとおり、この問題は「根本的な設計上の欠陥」であるため、各種ブラウザそれぞれが、それぞれの方法で対策を施している。たとえばFirefoxは、:visited に適用されるスタイルを制限し、JavaScript によるそれらの読み取りをブロックする。
Safariも同様に制限を適用しており、ほかにもIntelligent Tracking Preventionなどのクロスサイトトラッキング防止の仕組みを駆使して、訪問履歴の漏洩リスクを軽減している。今回の話は、いますぐChrome以外のブラウザの使用を止めるべきというほどのものではないだろう。
- Source: PCMag The Register