2023年9月13日 应用程式
macOS 14 Sonoma 的测试版和候选版本中存在一个漏洞,导致防火墙无法正确过滤流量。因此,我们的应用程式无法运行。
在 macOS 14 Sonoma 测试期间,Apple 引入了一个防火墙的错误,失去了封包过滤器 (PF) 的正常运作,这使得我们的应用程式无法运行,并可能导致在启用某些设定例如本地网路共享时出现资料泄露。我们无法保证在 macOS 14 上的功能或安全性。在第六个测试版发布后,我们针对这个问题进行了调查,并向 Apple 报告了该漏洞。不幸的是,此漏洞在后续的 macOS 14 测试版及候选版本中仍然存在。
我们评估了是否能针对我们的 VPN 应用程式进行修补,以使其在 macOS 14 上正常运行且保障用户安全。不过,据我们所知并没有很好的解决方案。我们相信这些防火墙漏洞必须由 Apple 修复。
这个漏洞影响不仅仅是 Mullvad VPN 应用程式。防火墙规则未能正确应用到网路流量中,不应该被允许的流量却得以通过。我们认为这是防火墙的一个关键缺陷,任何依赖 PF 过滤或在其 macOS 设备上使用该过滤器的应用程式用户,都应该在升级到 macOS 14 前保持谨慎。
macOS 14 Sonoma 预定于9月26日发布,如果该错误仍然存在,我们建议用户暂时保持在 macOS 13 Ventura 版本,直到该问题被修复。
可以在 macOS 14 上采取以下步骤来重现此问题。警告:这将清除您可能已在 PF 中加载的任何防火墙规则。
在终端中,创建一个虚拟日志接口并开始监视其上匹配您稍后添加的规则的流量:
吾爱奈飞官网bashsudo ifconfig pflog1 createsudo tcpdump nnn e ttt i pflog1
将以下防火墙规则写入名为 pfrules 的档案中:
bashpass quick log (all to pflog1) inet from any to 127001block drop quick log (all to pflog1)
在另一个终端中,启用 PF 并加载规则:
bashsudo pfctl esudo pfctl f pfrules
Ping mullvadnet 伺服器:
bashping 4583223209
禁用防火墙并清除所有规则。
bashsudo pfctl dsudo pfctl f /etc/pfconf
请关注我们的部落格以获取此问题的未来更新。