CVE-2021-21975/21983 VMware SSRF、任意文件上传漏洞分析

Andrew 2021-04-16
专栏 - 资讯 发布于 2021-04-16 11:00:04 阅读 154 评论 0

1 漏洞概述

VMware vRealize Operations 可在由 AI 提供支持的统一平台中针对私有云、混合云和多云环境提供自动配置 IT 运维管理套件。

本次安全更新修复了一处服务端请求伪造漏洞,一处任意文件上传漏洞。未经身份验证的攻击者通过访问特定的api传入恶意数据,最终在目标服务器上触发漏洞。

2 漏洞分析

CVE-2021-21975

位于casa/WEB-INF/classes/com/vmware/ops/casa/api/ClusterDefinitionController.class有一个路由/nodes/thumbprints

图片

这里接收POST传入的值作为address传入getNodesThumbprints方法,跟进ClusterDefinitionService#getNodesThumbprints

图片

这里实例化了一个HttpMapFunction类并调用了execute方法,可以看到返回的结果保存在response中,后面就是对返回结果的处理,从变量名和后面操作的行为就可以猜测execute方法里面就是发出请求也就是造成ssrf的地方,跟进看一看

图片

这里的hosts也就是我们传入的address转为数组的形式,接着将hosts赋值给var4,然后进入for循环遍历host通过HttpTask.createInstance创建任务实例,跟进HttpTask#createInstance

图片

这里的op从实例化HttpMapFunction那儿可以知道值为RequestMethod.GET,所以这里返回了一个发送GET请求的任务HttpGetTask,回到execute方法中,将得到的任务task放入tasks中,最后通过invokeAll开始多线程执行。

漏洞利用

图片

注意这里Content-Type要为application/json

CVE-2021-21983

位于casa/classes/com/vmware/vcops/casa/appconfig/CertificateController.class有一个路由

图片

这里接收了两个post参数name和file,然后跟进CertificateService#handleCertificateFile

图片

这里创建了一个File对象,然后直接使用transferTo函数上传文件,两个参数都是可控的所以就造成了任意文件上传漏洞。

漏洞利用

图片

3 组合利用=RCE

思路是ssrf获取Authorization然后配合文件上传漏洞getshell。

复现ssrf的时候已经接收到了Authorization(8.3之前的版本会有,不包括8.3),然后就利用文件上传漏洞写webshell。

图片

4 Reference

VMSA-2021-0004

https://www.vmware.com/security/advisories...

报告编号:B6-2021-041303

报告来源:360CERT

报告作者:ghtwf01

更新日期:2021-04-13
原创: 360CERT
原文链接:https://mp.weixin.qq.com/s/JpkpBR4JJt21ocu...

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!