一个原本用来隐藏用户IP地址的付费功能,正在把用户的真实IP地址主动递给网站。安全研究员Tommy Mysk和Talal Haj Bakry发现,iOS所有浏览器共用的底层引擎WebKit存在设计漏洞,只要网站支持或伪装支持passkey登录,就能绕过Apple的iCloud Private Relay,直接拿到用户设备的真实IP。受影响的不只是Safari用户,连主打匿名浏览的Tor类应用OnionBrowser也在里面——只有Tor Project官方出的Tor Browser是个例外。
这不是一次孤立的bug通报。往前数一个月,404 Media刚曝出Apple的Hide My Email功能存在真实邮箱地址泄露,而Apple在收到报告后拖了超过一年才修复。两条新闻放在一起看,问题就不只是"又出了一个漏洞",而是Apple的隐私付费产品线,好像总在同一个坑里反复摔。
Passkey为什么会把IP“递”出去
Private Relay的工作原理,是给Safari的网络请求套上双重代理,让网站和网络运营商看不到用户真实IP,但它的保护范围只限Safari浏览器内部,不是系统级VPN,不会覆盖所有App的所有流量。这个边界本身就是一处天然缝隙。
Passkey恰好踩在这条缝上。它基于WebAuthn标准运作,验证请求不是Safari发出的,而是由iOS系统层的credential service直接发起。这个请求根本不经过Private Relay的代理路径,目标网站看到的,就是设备真实IP——用户界面上一切正常,像在正常登录,底层网络请求已经绕开了保护。
由于iOS上所有浏览器,不管是Safari、Chrome还是Tor类应用,都被迫共用WebKit这套引擎,这个漏洞不是某一款App的问题,而是平台级的。研究者随后开发了一个自测网站leaks.psylo.app,404 Media实测确认,该网站确实能拿到本应受Private Relay保护的用户真实IP。
- 风险.只要网站支持或伪装支持passkey,就可能在用户毫无察觉的情况下拿到真实IP,这类收集很可能早已在悄悄发生。
这不是第一次,也可能不是最后一次
把时间线拉长看,Private Relay和DNS泄露其实是Apple隐私产品线里反复发作的老毛病。iOS 17之前有DNS查询泄露被修复,iOS 18.2之前Safari阅读列表功能导致过IP泄露,iOS 18.7.7之前又出现过一次DNS泄露——这些都已经拿到官方CVE编号并修复。这次passkey导致的IP泄露,目前在Apple官方安全公告里找不到对应编号,说明它是一个新发现、尚未进入正式修复流程的独立问题,不能简单并入此前几次的修复记录里。
Private Relay修的是浏览器的门,却没堵住系统层的窗
Apple在passkey和密码管理相关组件上,同样有过网络传输安全问题——比如Passwords组件的网络流量曾被曝可被特权网络攻击者窃听或篡改,后来靠切换到HTTPS才解决。这次的问题性质不同,不是传输加密漏了,而是请求本身就没走代理,修起来可能更麻烦,因为要动的是操作系统层的credential service设计,不是App层的一个开关。
谁在着急,谁在等
OnionBrowser的开发者Mike Tigas对这次曝光的表态相当克制,称问题"dire"(严重),但也承认其中两个泄露"完全基于iOS和WebKit的运作方式,完全掌握在Apple手中",第三个问题在默认设置下不适用于该App。他没有给出自家App层面能规避的方案,言下之意是这事只能等Apple动手。
Apple官方对404 Media的回应只有一句"在调查中",没有时间表。对比此前Hide My Email漏洞知情超过一年才修复的先例,用户很难对这次的修复速度抱太大期待。
- 结论.官方Tor Browser不受影响,说明问题根子在WebKit/iOS架构,不是Tor协议本身出了错,这条边界至少能澄清一个容易被误读的结论——不是Tor在iOS上不安全,是iOS上所有基于WebKit的App都不安全。
对普通iCloud+订阅用户来说,眼下没有官方缓解方案,能做的只是用leaks.psylo.app自测一下是否受影响,或者在处理敏感浏览时,暂时对passkey登录场景多一分警惕。对真正依赖匿名性的记者、活动人士这类高敏感用户,这次曝光的更现实的提醒是:付费隐私功能能提供的,是"更难被追踪",不是"绝对匿名",尤其是在Apple自己的修复节奏还没跟上曝光节奏的当下。
