安全研究团队 Mysk 测试发现,在 iOS 26.4.2 上,当 VPN 应用在后台自动更新时,iPhone 的真实 IP 地址仍会被暴露。Mysk 的做法是自建一个每秒记录一次 iPhone IP 的网站:先开启 Mullvad VPN,再打开该网站,然后让 Mullvad 在后台更新,网站日志显示更新期间 iPhone 暴露了真实 IP。这一测试是受 Mullvad 近期博客文章启发而做的。
问题出在哪里
Mullvad 在 2026 年 4 月 21 日的博客中解释,苹果的 NetworkExtension 框架存在缺陷,使其 iOS 应用无法做到最安全。App Store 更新应用时,系统会中断网络,导致 VPN 隧道断开,更新期间流量会在隧道之外传输。
苹果提供了一个名为 includeAllNetworks 的配置项,理论上可强制所有流量走 VPN。但 Mullvad 称,启用该选项后,更新应用时系统会让网络陷入故障,用户可能卡在“更新—断网—再更新”的循环里。
Mullvad 的折中方案:Force all apps
Mullvad 的做法是推出“Force all apps”功能,其底层就是把 includeAllNetworks 设为开启。公司明确承认,这并不能消除问题:设备仍可能进入更新循环,只不过在应用自动更新前,用户会收到新版本通知。要避免卡住,需要在更新时选择以下方式之一:
- 更新时断开 VPN:更新完成后 VPN 不会自动重连,但“Force all apps”仍保持开启。
- 更新时临时关闭“Force all apps”:更新后 VPN 会自动重连,但该功能需要手动重新开启。
Mullvad 同时强调:无论哪种方式,更新期间流量都会泄露,公司认为目前没有变通办法。
不只是 Mullvad
Mysk 还提到,Proton VPN 在开启“终止开关”(kill switch)的情况下更新应用时,iOS 先是阻断网络近 6 分钟,随后终止了应用及其 VPN 隧道,使 iPhone 的流量和 IP 暴露,需要手动重启 VPN。我没有找到苹果对此问题的公开回应或修复时间表。
iPhone 用户可以怎么做
- 留意 VPN 应用的更新通知,在可信的网络环境下、断开 VPN 后再手动更新。
- 如果担心自动更新在不合适的时间触发,可在“设置 → App Store”中关闭“App 更新”的自动下载,改为手动更新(这是一般性建议,并非 Mullvad 的官方说明)。
- 如果更新后网络异常,可以按 Mullvad 的建议,将问题反馈给苹果。
VPN 用户面临的风险不止系统缺陷。同样以 Mullvad 为名,有人搭建了假冒下载站传播恶意程序,详见:假冒 Mullvad 下载站用无文件恶意软件攻击 Windows 用户。Mullvad 在 Android 上的最新更新则见:Mullvad Android 版更新:“按需”多跳与可交互 3D 服务器地球。