TL;DR:在我们最近发现并公开了Meta的WhatsApp“查看后即销毁”媒体隐私问题后,WhatsApp悄悄更新了其Web应用。虽然这个修复破坏了许多现有的利用漏洞的浏览器扩展程序,但核心问题仍然没有得到解决。
最近我们发现了一个问题:WhatsApp 的“只看一次”功能,WhatsApp 宣称该功能为隐私保护,限制用户发送的媒体被多次查看,可以轻松被一个浏览器插件绕过,该插件稍微修改了 WhatsApp 的网页版本。
一次性的功能已失效:WhatsApp 的“查看一次”功能已被破解Meta 建议使用“查看一次”功能来保护隐私。我们发现攻击者不仅能绕过这个功能,而且实际上已经在这么做了…medium.com我们通过Meta的漏洞赏金计划负责任地向WhatsApp通报了我们的发现,但我们发现该问题已被公开可用的浏览器插件(拥有10,000名用户)利用,因此我们决定公开我们的发现以保护WhatsApp用户的隐私。
这是一款有10K用户量的扩展程序,可以公开在Chrome网上应用店下载。
修复原来的问题是,View Once 媒体消息与普通媒体消息几乎一样,只是多出一个字段来告诉客户端这条媒体只能查看一次。一收到,这些消息也会被存储在应用程序的数据库中。
因此,利用这些扩展可以只是将数据库中的“仅查看一次”字段更改为假,从而使官方的WhatsApp网页应用能显示这些消息内容。
只需将扩展的“一次查看”标志设为 false 即可。
大约在2024年9月12日左右,WhatsApp更新了他们的Web应用程序,改变了View Once媒体消息保存到应用数据库的方式,并删除或屏蔽了部分允许查看媒体的信息。因此,即使View Once字段被设为false,媒体在技术上也无法被查看。
好这里有不少不错的地方。
- 这表明 Meta 的 WhatsApp 认同我们的观点 ,认为这个问题很重要,并且实际上正在投入资源来解决它。
- 这表明 我们在公开这一信息的决定上是对的 ,因为它促使 Meta 实际上采取了行动。
- 它破坏了许多(所有?)现有的浏览器扩展程序 ,这些扩展程序被用来进行攻击或恶意行为,正如许多客户的投诉所示,这些投诉出现在 Chrome 网店。
(如许多其客户的投诉)
利用浏览器扩展程序客户的投诉,但对结果感到不满。
- 它阻止获得WhatsApp应用程序数据库的攻击者再次利用未来的一次性查看的媒体。
虽然 Meta 的 WhatsApp 做了修复,这通常是一个好的开始,但这还远远不够。
包含所有一次性媒体消息所需信息的核心问题在于,这种消息在一个不应显示它的环境中仍然未得到解决。
要绕过这个修复,攻击者只需在上游操作,在应用接收到它但在存储到数据库之前,将“仅查看一次”标志设置为 false。
查看 JSON 对象中的 viewOnce 标志
通过实现这个“上游”编辑,让我们能够绕过在更新后的 WhatsApp 的网页应用中的此修复。
已经被修复的 WhatsApp 网页应用仍然容易被反“查看一次”功能的扩展影响
更新于 17.9.24:正如预测的那样,利用扩展的人正打算绕过这个不完整的补丁。
利用这些扩展将会绕过这个不完整的补丁。
要真正解决这个问题,WhatsApp客户端在发送仅查看一次的媒体消息时,不应将其发送到不允许显示这些消息的平台。正如我们之前的研究链接所示,WhatsApp架构已经可以向不同的接收设备发送同一消息的不同版本内容。
[嗨,Meta,WhatsApp 的完整性问题来了?TL;DR:Meta 的 WhatsApp 遭遇了完整性问题,让攻击者能够扭曲用户的认知(长篇内容的简短总结:TL;DR)。](https://medium.com/@TalBeerySec/hi-meta-whatsapp-with-integrity-4d85756dd7c5?source=post_page-----be97ec1cc2e5)
我们希望 WhatsApp 能尽快推出这个可靠的修复措施。
不丑陋在提交多次通过Meta官方漏洞奖励计划的报告,且Meta已经承认这是一个问题的三周以来,Meta依旧没有回复我们,没有与我们联系。
元漏洞奖励计划报告:多份报告,0条回复
我们认为这种沉默的处理方式非常失望,并且违背了漏洞披露流程的一贯精神以及Meta漏洞奖励计划的相关指导方针。
Meta的漏洞赏金计划的政策(来自:Meta)
好消息是,Meta 可以随时搞定这个问题 :)
总的来说尽管还有很多工作要做才能彻底解决这个问题,Meta的WhatsApp初步措施让我们看到了希望,这个问题有望很快得到解决。我们很高兴我们的研究和披露促使了这样的改变,让WhatsApp的30亿用户更安全一点。