iOS VPN 漏洞:更新 VPN App 时真实 IP 会暴露

Mysk 研究人员发现,iOS 26.4.2 上更新 VPN App 时,iPhone 会暂时绕过 VPN 隧道泄露真实 IP。Mullvad 早已记录该问题,并推出“强制所有应用”功能作缓解。

用 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 网站传播无文件恶意软件一文。

对普通用户意味着什么

  1. 如果您只是想看视频、刷网页,这个泄露窗口很短,影响有限。
  2. 如果您对隐私要求很高(比如记者、活动人士),更新 VPN App 前最好先断开 VPN 并关闭敏感操作,更新完再连。
  3. 考虑关闭 VPN App 的自动更新,改成自己挑时间手动更新。
  4. 把本文当作提醒:VPN 不是绝对的隐身衣,平台层面的漏洞它挡不住。

常见问题(FAQ)

只有 Mullvad 有这个问题吗?

不是。原文指出,问题出在 iOS 本身,IVPN、Proton VPN 也曾报告过相关泄露。

开了“强制所有应用”就安全了吗?

Mullvad 自己承认,更新过程中流量仍会泄露,该功能只是在自动更新前提醒用户。

苹果什么时候修复?

据原文,苹果尚未公开评论是否或何时发布永久修复。

总结

iOS 更新 VPN App 时的 IP 泄露由系统层面造成,VPN 厂商只能缓解、无法根治。在苹果修复前,更新前先断开、敏感操作错开更新时间,是最实际的自保办法。