Zoom 修复 Whiteboard 中的XSS漏洞

c000891c9f9e2c15faa35e6d0f17ebfa.gif 聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

Zoom 修复了位于桌面和web版本 Whiteboard app 中的一个XSS漏洞。

Zoom Whiteboard可使用户通过增加和编辑不同的对象,在共享画布上实时协作。Whiteboard 在浏览器和桌面app上都运行 JavaScript 代码。

1

逃逸清理

Zoom Whiteboard 中的XSS漏洞是由安全研究员 Eugene Lim 发现的。Lim 关注web、移动、桌面和其它平台之间的重叠,随后他开始对Zoom Whiteboard有了兴趣。

Whiteboard 支持多种对象类型,包括文本、形状、富文本、镜像和便利贴。

为了存储和迁移对象,Whiteboard 使用语言和平台中和标记标准Protocol Buffer (protobuf)来清理结构性数据。它使用WebSocket 在所有客户端播报protobuf对象并在whiteboard上提供实时更新。

收到后,客户端将protobuf对象更改到相应的React组件中并将其插入用户接口。React 自动清理包含在whiteboard对象中的所有HTML属性中。然而,一些对象允许一些HTML标签。对于某些对象而言,开发人员使用自定义正则表达式函数清理用户输入并删除不允许的标签。

Lim 发现通过一个构造良好的HTML字符串,他能够绕过清理检查并将任意JavaScript 代码发送到所有其它客户端并发动XSS攻击。

2

武器化剪贴板

利用该漏洞要求攻击者付出复杂努力。Lim 指出,“WebSocket 信息以protobuf 格式发送。这就导致很容易编写让诊断人员易于复现的PoC,因为诊断人员需要在请求释放前,拦截WebSocket 请求并正确修改protobuf 信息。”为了解决这一问题,他开发了一个端对端PoC 脚本,使用剪贴板创建并交付XSS payload。

3

混合应用的挑战

Lim 认为,导致难以找到并解决这些漏洞的因素有两个。第一个是支持其它特性的JavaScript web API的宽度和深度。

他指出,“从WebRTC到WebGL,除了弹出警告之外,可以在浏览器中做更多的事情,这就增加了攻击面和绕过潜力。”第二个是web和原生/桌面应用之间不断增多的重合之处。

Lim 表示,“开发人员需要保护多个平台中的应用,由于Safari 上React 中的JavaScript可能和安卓上Hermes 的React Native 工作稍有不同,因此这样增加了复杂度。”

4

检查第三方依赖

最后,Lim 提醒注意第三方依赖中的缺陷。

他指出,“由于用户输入通过第三方依赖流动,因此代码扫描工具无法找到真正的Zoom漏洞。”一般而言,CI/CD管道中的代码扫描并不会安装第三方依赖且仅在项目源代码上运行。Lim 表示,“必须要非常注意你正在使用的第三方组件以及你使用这些组件的方式。另外,通过正则表达式解决非常不容易,因此最好依赖于DOMPurify等库。”

代码卫士试用地址:https://codesafe.qianxin.com

开源卫士试用地址:https://oss.qianxin.com


推荐阅读

黑客可利用Zoom 新漏洞执行任意代码

谷歌详述 Zoom 客户端和MMR 服务器中的两个0day

Zoom 5.1.2及旧版本在 Win7 上的 DLL 劫持漏洞分析

网红视频会议应用 Zoom 被指“像吸血鬼一样靠收割个人数据敛财”

Zoom 视频会议 app 被曝严重漏洞,75万家企业或受影响

原文链接

https://portswigger.net/daily-swig/zoom-whiteboard-patches-xss-bug

题图:Pixabay License‍

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

39598fdc54b0e432db7f1ec0b77c36c3.jpeg

20cdba3bae2647ee8c6942e22f8bf2f7.jpeg

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

   d867f8702c22a5c0f68b760c3c826130.gif 觉得不错,就点个 “在看” 或 "赞” 吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值