用 iPhone 挂着 VPN,您以为流量全走加密隧道,其实有一个短暂的“空窗期”:据安全研究团队 Mysk 的测试,在 iOS 26.4.2 上更新 VPN App 的过程中,iPhone 会暴露真实 IP 地址。这个问题 Mullvad 一年多前就公开记录过,目前苹果还没有公开回应何时修复。
Mysk 是怎么测出来的
Mysk 搭了一个测试网站,每秒记录一次 iPhone 的 IP 地址。研究人员在装有 iOS 26.4.2 的 iPhone 上启动 Mullvad VPN,打开测试网站,再让 VPN App 在后台更新。网站日志显示,更新过程中 iPhone 泄露了真实 IP。
问题出在哪
Mullvad 早已记录,这是苹果 NetworkExtension 框架里的缺陷:App Store 更新 VPN App 时,iOS 会暂时关闭现有的 VPN 隧道,这个短暂的窗口里,设备所有流量都会绕开加密隧道。
苹果提供了一个叫“includeAllNetworks”的配置项,可以强制所有流量走 VPN,理论上能堵住这个漏洞。但开启后又会引出新问题:自动更新开始时,旧的 VPN 连接被关闭,iOS 下载器就没法获取新版本,设备会完全断网,陷入无限更新循环。
Mullvad 的做法:加开关,但仍无法彻底解决
Mullvad 决定不再等苹果,推出了“强制所有应用(Force all apps)”功能,会启用 includeAllNetworks 来防止流量泄露。但它也坦言,更新过程中流量仍会泄露,区别只是现在会在自动更新前通知用户,让用户选个安全时机手动断开。
| 更新 VPN App 时的做法 | 注意点 |
|---|---|
| 先断开 VPN,更新完再重连 | 更新窗口内仍然不在隧道保护下 |
| 临时关闭“强制所有应用”,更新后手动重新开启 | 同样无法避免更新瞬间的泄露 |
Mullvad 还表示,预计有少数开启该功能的用户会遇到网络栈异常,建议受影响的用户直接向苹果反馈。
不只是 Mullvad:iOS 的老问题
- 推送连接:研究人员多年来在多个 iOS 版本上记录过类似的泄露。苹果推送服务会在设备和苹果服务器之间保持长连接,这个连接可能在 VPN 隧道之外持续数分钟甚至数小时。
- IVPN:记录过自动轮换 WireGuard 密钥时的 DNS 泄露,密钥轮换期间隧道短暂脱离,流量走到加密通道之外。
- Proton VPN:此前发现 iOS 在用户连接 VPN 时不会关闭已有的网络连接,苹果推送等长连接会继续暴露用户的真实 IP。
Mysk 是在看到 Mullvad 的博客文章后专门搭了这个测试网站,证明 iOS 26.4.2 仍然有同样的根本问题。同期还有假冒 Mullvad 网站传播恶意软件的事件,可参考本站的假 Mullvad VPN 网站传播无文件恶意软件一文。
对普通用户意味着什么
- 如果您只是想看视频、刷网页,这个泄露窗口很短,影响有限。
- 如果您对隐私要求很高(比如记者、活动人士),更新 VPN App 前最好先断开 VPN 并关闭敏感操作,更新完再连。
- 考虑关闭 VPN App 的自动更新,改成自己挑时间手动更新。
- 把本文当作提醒:VPN 不是绝对的隐身衣,平台层面的漏洞它挡不住。
常见问题(FAQ)
只有 Mullvad 有这个问题吗?
不是。原文指出,问题出在 iOS 本身,IVPN、Proton VPN 也曾报告过相关泄露。
开了“强制所有应用”就安全了吗?
Mullvad 自己承认,更新过程中流量仍会泄露,该功能只是在自动更新前提醒用户。
苹果什么时候修复?
据原文,苹果尚未公开评论是否或何时发布永久修复。
总结
iOS 更新 VPN App 时的 IP 泄露由系统层面造成,VPN 厂商只能缓解、无法根治。在苹果修复前,更新前先断开、敏感操作错开更新时间,是最实际的自保办法。