iCloud Private Relay 通过两个独立的中继代理来路由 Safari 流量,以隐藏用户的 IP 和 DNS 信息,使目标网站无法获知用户真实身份。它并非全设备 VPN,仅保护 Safari 内的流量 。新发现的 WebKit 漏洞允许网络请求在代理路由生效之前完全退出浏览器进程,这意味着目标服务器看到的是用户的真实 IP,而非中继代理的出口 IP 。
当某个网站支持——或者仅仅声称支持——Passkey 时,iOS 的系统凭证服务会直接从设备获取验证文件,完全绕过 Private Relay 的代理路径 。该请求由操作系统的凭证管理器发起,而非 Safari,因此从未进入 Private Relay 的保护路由 。任何网站都可以在无需用户交互的情况下触发此泄露;它甚至不需要用户实际尝试登录 。Mysk 直截了当地总结了问题:“简而言之:任何支持或假装支持 Passkey 的网站,都可以在用户开启 iCloud Private Relay 的情况下看到其真实 IP 地址” 。
WebKit 通过设备的正常 DNS 路径解析主机名,从而泄露了用户的真实 DNS 服务器而非代理的 DNS 。即便 Private Relay 处于开启状态,这也会暴露用户的真实 IP 和 DNS 信息 。网站可以放置一个唯一的地址,然后坐等 DNS 请求从用户的真实网络发出 。
浏览器内发起的 WebTransport 会话可以通过打开直接的 HTTP/3 连接来绕过 Private Relay 的代理,泄露设备的真实网络信息 。
Mysk 建立了一个公开测试网站,任何人都可以检查在开启 Private Relay 的情况下自己的真实 IP 地址是否仍然泄露。TechCrunch 验证发现,该网站确实能够揭示他们的真实 IP 地址 。除了 Safari,由于 WebKit 的强制要求,这些问题也影响了 OnionBrowser(一款 iOS 上的 Tor 浏览器)和其他基于代理的浏览器 。
由于苹果尚未发布补丁,目前唯一可靠的缓解措施是使用不依赖 WebKit 代理设置的全设备 VPN。第三方浏览器 Psylo 现已发布 1.3.1 版本,该版本通过屏蔽 dns-prefetch 提示和禁用 WebTransport 作为临时解决方案 。