影响400多万Mac系统的变焦视频会议软件漏洞是怎样的

本篇文章为大家展示了影响400多万Mac系统的Zoom视频会议软件漏洞是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

作者发现了视频会议软件ZOOM for Mac客户端程序的两个漏洞和一个缺陷,安装有ZOOM客户端的Mac系统用户可能会受到RCE攻击,可被攻击者远程未授权开启本机摄像头。

Zoom是一款多人云视频会议软件,为用户提供兼备高清视频会议与移动网络会议功能的免费云视频通话服务。用户可通过手机、平板电脑、PC与工作伙伴进行多人视频及语音通话、屏幕分享、会议预约管理等商务沟通。Zoom支持100人以下的高清视频通话,是目前领先的移动视频会议工具。Zoom适用于Windows、Mac、Linux、iOS、Android系统。

漏洞原因在于ZOOM for Mac系统的客户端软件中存在bug缺陷,攻击者通过在自己网站中部署利用代码,当安装有ZOOM for Mac的系统用户访问该网站后,就能触发漏洞,实现未授权的摄像头开启。该漏洞可能会对采用Zoom软件应用于日常视频会议的全球75万家公司造成影响。

CVE漏洞编号

CVE-2019–13450:开启受害者系统摄像头导致的信息泄露漏洞(未修复)

CVE-2019–13449:DoS拒绝服务攻击 (在ZOOM 4.4.2客户端版本中已经修复)

漏洞介绍

该漏洞可以通过访问一个恶意网站的方式,远程未授权地激活开启受害者系统中与ZOOM关联的摄像头,并强制ZOOM客户端用户加入某个ZOOM视频会议。

这种情况下,可让受害者反复不停地加入一个无效的视频会议,致使其安装有ZOOM客户端形成拒绝服务攻击(DoS)。此外,如果用户在系统中安装了ZOOM客户端软件之后又卸载了它,但是,它仍然在你的系统中残存有一个localhost的Web服务,通过该残存服务,ZOOM可以不用任何用户交互操作即能实现完整的程序重装,目前,这个所谓的“重装”功能依然有效。

在Mac系统中,如果你安装了ZOOM客户端软件,它会形成一个本地localhost:19421的Web服务,你可以在终端中用命令 lsof -i :19421 来查看。

首先,这种安装了ZOOM客户端软件,就开启一个无任何文档说明的API接口的事至少让我觉得不妥;其次,我访问的任何网站都可能会与该localhost Web服务发生交互,这对搞安全的我来说,简单就是一个风险隐患。以下是ZOOM源码中开启locaohost服务的代码段:

影响400多万Mac系统的Zoom视频会议软件漏洞是怎样的看到代码的时候我就想,是否其参数处理过程会存在缓冲区溢出漏洞,这样就会让操作系统面临RCE攻击。当然,此仅当猜测,最终也没发现这样的问题。当访问一个视频会议加入(Join)链接之后,可通过Chrome浏览器调试工具对该locaohost服务的行为进行观察,如下:

影响400多万Mac系统的Zoom视频会议软件漏洞是怎样的后来我还发现,该locaohost服务对应的页面并不执行正常的AJAX请求,但它会从本机运行的localhost web服务中加载一张图片,这张加载图片的不同尺寸都对应着表示ZOOM服务的不同状态和错误码,如下:

影响400多万Mac系统的Zoom视频会议软件漏洞是怎样的可怕的是,从以上这个状态和错误码推断来看(download、install、upgrade、launch...),这个本机的主机web服务具备的功能,不仅仅是能启动缩放视频会议,也就是前述提到的,如果用户卸载了变焦,它还能执行重装……等,等。

我的疑问是,为什么这个主机web服务会返回这种以图片尺寸为状态响应的编码数据?唯一的理由是,它是为了绕过歌珥策略限制。但是,针对本机主机的歌珥策略,浏览器已经完全不做限制了啊。比如,Chrome自2010年起,就已经不对本地主机的歌珥请求进行限制了。我猜想放大此举是出于安全考虑,也貌似可能是滥用这种技巧去绕过歌珥策略。在此,我对开启受害者系统摄像头的cve - 2019 - 13450,导致DoS拒绝服务的cve - 2019 - 13449以及卸载后残存的重装错误进行一个简要分析。

激活受害者系统的摄像头漏洞

我用不同账号在本机创建了一个变焦私人会议,并用邮差对其进行请求分析和参数测试,看看启动一个会议所需的最小得到请求是些什么。分析中有大量随机参数发向本地主机web服务,其中有两个重要参数如下:

影响400多万Mac系统的变焦视频会议软件漏洞是怎样的