前言
漏洞描述
从4月6号的漏洞公告(https://www.vmware.com/security/advisories/VMSA-2022-0011.html)显示,VMware Workspace ONE Access 在 OAuth2 ACS 框架中有两个身份验证绕过漏洞,CVE-2022-22955就是其中一个,攻击者可通过获取OAuth2客户端的激活码,激活OAuth2客户端以此绕过身份验证;而CVE-2022-22957属于JDBC注入导致的远程代码执行,具有管理访问权限的攻击者通过可控参数构造恶意JDBC URL触发反序列化,从而执行任意命令获取系统权限。
利用范围
产品利用范围可参考https://www.vmware.com/security/advisories/VMSA-2022-0011.html
漏洞分析
环境搭建
分析复现
CVE-2022-22955 OAuth2TokenResourceController ACS 身份验证绕过
定位com.vmware.horizon.rest.controller.oauth2.OAuth2TokenResourceController#generateActivationToken
存在路径:/generateActivationToken/{id}
其实也就是获取到client ID 和 client secret后就可以进行身份认证的绕过。
那如果不存在如上分析的 OAuth2 客户端,也就无法利用。
在默认情况下,VMware Workspace ONE Access会安装两个内部客户端。
在VMware Workspace ONE Access安装过程中,会调用com.vmware.horizon.rest.controller.system.BootstrapController类进行初始化。
本质上会导致com.vmware.horizon.rest.controller.oauth2.OAuth2TokenResourceController#createTenant调用createDefaultServiceOAuth2Client函数,从而创建系统范围内的oauth2 客户端。
最后使用 client ID 和 client secret做身份认证,并获取到可用jwt token
至此,可通过获取到的jwt token进行身份验证的绕过。
CVE‐2022‐22957 VMware Workspace ONE Access JDBC注入漏洞
获取到jdbcUrl、dbUsername、encryptedPwd(加密后dbPassword)后调用dbConnectionCheckService.checkConnection
com.vmware.horizon.datastore.impl. DbConnectionCheckServiceLmpl#checkConnection中将会调用testConnection
而在testConnection中会继续调用FactoryHelper.getConnection
在FactoryHelper.getConnection中最终调用DriverManager.getConnection用于获取数据库的连接,而其中的jdbc URL完全可控。
这就导致了jdbc注入,从而任意命令执行。
https://srcincite.io/blog/2022/08/11/i-am-whoever-i-say-i-am-infiltrating-vmware-workspace-one-access-using-a-0-click-exploit.html
修复建议
参考材料
1.https://www.vmware.com/security/advisories/VMSA-2022-0011.html
2.https://srcincite.io/blog/2022/08/11/i-am-whoever-i-say-i-am-infiltrating-vmware-workspace-one-access-using-a-0-click-exploit.html
3.https://su18.org/post/jdbc-connection-url-attack/
4.https://kb.vmware.com/s/article/88098
关于Portal Lab
星阑科技 Portal Lab 致力于前沿安全技术研究及能力工具化。主要研究方向为API 安全、应用安全、攻防对抗等领域。实验室成员研究成果曾发表于BlackHat、HITB、BlueHat、KCon、XCon等国内外知名安全会议,并多次发布开源安全工具。未来,Portal Lab将继续以开放创新的态度积极投入各类安全技术研究,持续为安全社区及企业级客户提供高质量技术输出。
原文始发于微信公众号(星阑PortalLab):【技术干货】VMware 系列产品之身份验证绕过和JDBC注入漏洞分析