CVE-2021-21972 Vmware vcenter未授权任意文件漏洞分析
字数 1428 2025-08-10 00:24:04
CVE-2021-21972 VMware vCenter 未授权任意文件上传漏洞分析与利用
漏洞概述
CVE-2021-21972 是 VMware vCenter Server 中的一个严重漏洞,允许未经身份验证的攻击者通过 vCenter Server 的 vROps 插件 UI 上传任意文件到服务器上的任意位置,从而导致远程代码执行。
漏洞影响
- 影响版本:VMware vCenter Server 6.5、6.7 和 7.0 的多个版本
- 漏洞类型:未授权任意文件上传
- CVSS 评分:9.8 (Critical)
漏洞原理
漏洞存在于 vCenter Server 的 vROps 插件 (com.vmware.vrops.install) 中,具体在 /ui/vropspluginui/rest/services/uploadova 接口。该接口在上传文件时存在以下问题:
- 未授权访问:接口未进行身份验证
- 路径遍历:上传文件时未对文件名进行校验,允许通过
../进行目录遍历 - 任意文件上传:上传的文件会被直接保存到
/tmp/unicorn_ova_dir目录,但通过路径遍历可写入任意位置
环境搭建
- 下载 VMware vCenter Server 破解版(可通过搜索引擎查找)
- 参考安装教程进行安装(如:https://www.miensi.com/352.html)
漏洞分析
漏洞定位
漏洞组件位于 vropspluginui 插件中,该插件使用 Java 编写,可通过反编译进行分析。
关键代码分析
在 Spring Web 框架中,uploadova 接口处理文件上传时:
- 未对上传的文件名进行过滤
- 直接将用户提供的文件名拼接到
/tmp/unicorn_ova_dir路径后 - 允许通过
../实现目录遍历,从而写入任意路径
漏洞验证
快速检测
访问以下 URL:
https://<VC-IP-or-FQDN>/ui/vropspluginui/rest/services/updateova
- 返回 404:表示漏洞已修复或不存在
- 返回 200:表示存在漏洞
漏洞利用步骤
- 构造恶意文件(如 JSP webshell)
- 通过
/ui/vropspluginui/rest/services/uploadova接口上传文件 - 使用路径遍历技术(如
../../../usr/lib/vmware-vsphere-ui/server/pickup/shell.jsp)将文件写入 web 可访问目录 - 访问上传的 webshell 执行任意命令
修复方案
官方修复
VMware 官方通过以下方式修复:
- 禁用存在漏洞的插件
com.vmware.vrops.install - 发布安全更新补丁
手动验证修复
访问以下 URL 检查插件是否已禁用:
https://<VC-IP-or-FQDN>/ui/vropspluginui/rest/services/checkmobregister
如果返回 404,则表示插件已禁用,漏洞已修复。
防护建议
- 立即升级到 VMware 官方发布的最新安全版本
- 如果无法立即升级,可手动禁用
vropspluginui插件 - 限制对 vCenter Server 管理界面的网络访问
- 实施网络分段,将 vCenter Server 放置在安全区域
总结
CVE-2021-21972 是一个严重的未授权文件上传漏洞,攻击者无需任何凭证即可利用该漏洞完全控制 vCenter Server。由于 vCenter Server 在企业虚拟化环境中的核心地位,该漏洞的危害性极高,必须立即修复。