【最新漏洞预警】CVE-2022-29464 WSO2 API Manager远程命令执行漏洞

漏洞信息


WSO2 API Manager是WSO2公司的一套API生命周期管理解决方案。最近发现CNNVD爆出了WSO2 API Manager存在安全漏洞:



漏洞编号CVE-2022-29464。从漏洞描述来看,由于对文件上传接口缺少严格检查,导致存在任意文件上传漏洞,可直接GetShell。影响版本:


  • WSO2 API Manager 2.2.0 and above

  • WSO2 Identity Server 5.2.0 and above

  • WSO2 Identity Server Analytics 5.4.0, 5.4.1, 5.5.0, 5.6.0

  • WSO2 Identity Server as Key Manager 5.3.0 and above

  • WSO2 Enterprise Integrator 6.2.0 and above

漏洞分析


本地搭建环境,启动:



这是一个文件上传漏洞,首先搜索涉及文件上传处理的接口。WSO2 API Manager默认开启了多个接口,在对`carbon`进行抓包分析的过程中,发现文件上传数据包:



查看接口配置:



从配置来看,访问接口不需要认证。查看URL映射配置文件:



找到多个和文件上传有关的映射:


org.wso2.carbon.ui.transports.fileupload.AnyFileUploadExecutororg.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutororg.wso2.carbon.ui.transports.fileupload.DBSFileUploadExecutororg.wso2.carbon.ui.transports.fileupload.ToolsFileUploadExecutororg.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor


上面的类都继承于`AbstractFileUploadExecutor`。定义了函数`execute`对上传文件进行处理,子类对该函数进行了重写。以其中的`ToolsAnyFileUploadExecutor`为例:



没有对表单名称进行任何处理,直接进行路径拼接,存在路径穿越的隐患。构造请求进行调试:



同时上传文件名和文件内容也可控,可通过构造特定请求,直接写入webshell:




修复方式


通过补丁对比,发现新版本将`AbstractFileUploadExecutor`子类的函数`execute`弃用,直接返回`false`,比如`ToolsAnyFileUploadExecutor`:




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




点关注,不迷路!

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐