CVE-2021-21972 Vmware vcenter未授权任意文件漏洞分析

背景

CVE-2021-21972 vmware vcenter的一个未授权的命令执行漏洞。该漏洞可以上传一个webshell至vcenter服务器的任意位置,然后执行webshell即可。

挺多厂商一直在发布漏洞通告,团队各种监控,你都监控到了你咋不分析分析???

分析过程

首先我们搭建环境,vcenter虽然是收费的,但是我们可以下载破解版。百度随便搜索一下就可以,包括详细的安装过程

我参考的的是这篇,这里包括了详细的安装过程 https://www.miensi.com/352.html

vmware修复方法比较简单,只是关闭有漏洞的相关插件 com.vmware.vrops.install

并且官方还附赠了是否关闭成功插件的方法,那就是访问 https://<VC-IP-or-FQDN>/ui/vropspluginui/rest/services/checkmobregister

那么有头绪了,只需要想办法从测试环境中找到vropspluginui插件。这个插件使用java编写,所以直接拖到idea中反编译,分析即可

spring的web,一看就懂

直接到关键点,uploadova接口,上传文件的时候没有校验文件名称,并且直接拼接到/tmp/unicorn_ova_dir后面,那么我们可以通过../ 绕过当前目录限制,达到任意文件上传的目的

poc

访问https://<VC-IP-or-FQDN>/ui/vropspluginui/rest/services/updateova

如果404,则代表不存在漏洞,如果200,则代表存在漏洞

修复方法

按照官方提示,关闭插件https://kb.vmware.com/s/article/82374

参考

  1. https://kb.vmware.com/s/article/82374