iCloud Private Relayは、Safariのトラフィックを2つの独立したプロキシホップにルーティングすることで、ユーザーのIPとDNSを宛先サイトから隠します。これはフルデバイスVPNではなく、Safari内のトラフィックのみを保護します。今回発見されたWebKitのバグにより、ネットワークリクエストがプロキシルーティングが適用される前にブラウザプロセスから完全に抜け出してしまうため、宛先サーバーはリレーの出口IPではなくユーザーの実際のIPを確認できてしまいます。
サイトがパスキーをサポートする(あるいはサポートしているふりをする)と、iOSのシステム認証サービスがデバイスの実際のIPアドレスから直接バリデーションファイルを取得し、Private Relayのプロキシ経路を完全にバイパスします。このリクエストはSafariではなくOSの認証マネージャーが発行するため、Private Relayの保護ルーティングに入ることがありません。ユーザー操作は一切不要で、実際のログイン試行も必要ありません。Mysk氏は「要するに、パスキーをサポートする(あるいはサポートするふりをする)あらゆるウェブサイトが、iCloud Private Relayがオンでもユーザーの実際のIPアドレスを見ることができる」と明確に述べています。
WebKitはデバイスの通常のDNSパスを通じてホスト名を解決するため、プロキシの代わりにユーザーの実際のDNSサーバーが明らかになります。これにより、Private Relayがアクティブでもユーザーの本当のIPとDNS情報が露呈します。サイトはユニークなアドレスを仕込み、そのDNSリクエストがユーザーの実際のネットワークから届くのを監視するだけで情報を得られます。
ブラウザ内で開始されたWebTransportセッションは、直接HTTP/3接続を開くことでPrivate Relayのプロキシをバイパスし、デバイスの実際のネットワーク情報を漏洩させます。
Mysk氏は誰でも自身の実際のIPアドレスが漏れていないか確認できる公開テストサイトを設置しました。TechCrunchはこのサイトで実際にIPアドレスが明らかになることを確認しています。この問題はSafariだけでなく、iOS版Torブラウザ「OnionBrowser」など、WebKitの制約を受けるプロキシベースのブラウザにも影響します。
Appleがまだパッチをリリースしていないため、唯一信頼できる対策は、WebKitのプロキシ設定に依存しないフルデバイスVPNを使用することです。サードパーティブラウザ「Psylo」はバージョン1.3.1で、dns-prefetchヒントをブロックしWebTransportを無効化する回避策を実装しています。