【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE

admin 2022年1月25日16:45:37评论295 views字数 1611阅读5分22秒阅读模式

关注公众号回复“漏洞”获取研究环境或工具




漏洞信息


2022年1月20日,Apache官方通报了一则 Apache ShardingSphere ElasticJob-UI的漏洞信息:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


未授权的来宾账号可实现权限提升,获取管理员权限,进而实现RCE。影响Apache ShardingSphere ElasticJob-UI v3.0.0 及之前的版本。




环境搭建


下载v3.0.0版本:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


Apache ShardingSphere ElasticJob-UI采用的是前后端分离的架构,后端程序`shardingsphere-elasticjob-lite-ui-backend`采用SpringBoot框架设计,完成`pom.xml`依赖的jar包安装后,直接启动:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


前端程序`shardingsphere-elasticjob-lite-ui-frontend`采用VUE框架设计,可以通过`npm install`完成依赖项安装,然后运行`npm run dev`启动:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


前后端路由映射规则如下:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE




权限提升


利用来宾账号`guest/guest`登录,将进入`org.apache.shardingsphere.elasticjob.lite.ui.security.AuthenticationFilter`拦截器:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


进入`handleLogin`函数:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


`userAuthenticationService.checkUser`完成认证检查,当登录成功后,将调用`userAuthenticationService.getToken`:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


`getToken`将`userAuthenticationService`对象通过Json序列化处理,而`userAuthenticationService`包含了root用户的密码信息,返回`handleLogin`函数:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


将密码信息直接返回给用户:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


回顾`getToken`函数,我们可以通过构造如下代码解码提取密码:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


可以利用root账号和密码登录,从而实现权限提升。回顾`AuthenticationFilter`认证的处理过程,也可以直接通过添加`Access-Token`的HTTP头完成认证绕过:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE




命令执行


root用户登录后存在一个`Add a data source`的功能:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


可以选择H2 database数据源类型,点击`Test connect`,进入`EventTraceDataSourceController#connectTest`:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


一路往下,来到`EventTraceDataSource`,参考HITB2021议题《Make JDBC Attacks Brilliant Again》,可以实现JDBC Connection URL攻击:


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


其中`poc.sql`内容如下:


CREATE ALIAS EXEC AS 'String shellexec(String cmd) throws java.io.IOException {Runtime.getRuntime().exec(cmd);return "Q";}';CALL EXEC ('calc')


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE




修复方式


【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE


`handleLogin`函数在返回`accessToken`时的修改如下:


result.put("accessToken", userAuthenticationService.getToken(authenticationResult.getUsername(), authenticationResult.isGuest()));


去掉了密码信息。



由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全团队及文章作者不为此承担任何责任。



点关注,不迷路!

【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE

关注公众号回复“漏洞”获取研究环境或工具

原文始发于微信公众号(且听安全):【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCE

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月25日16:45:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【最新漏洞预警】CVE-2022-22733 ShardingSphere ElasticJob-UI从权限提升到H2 RCEhttps://cn-sec.com/archives/750814.html

发表评论

匿名网友 填写信息