UCLOUD优刻得 产品 方案 文档 控制台 立即注册
  • 登录
  • 控制台
产品目录
计算
  • 云主机 UHost
  • GPU云主机 UHost
  • 裸金属云主机 UPHost
  • GPU裸金属云主机 UPHost
  • 私有专区 UDSet
  • 轻量应用云主机 ULightHost
  • 容器云 UK8S
云上网络
  • 私有网络 UVPC
  • 负载均衡 ULB
  • 私有连接 PrivateLink
  • 云解析 UDNS
接入网
  • 外网弹性IP EIP
  • 共享流量包 UTP
混合组网
  • 云联网 UGN
  • 智联 UWAN
  • VPN网关 IPSecVPN
  • 高速通道 UDPN
存储
  • 云硬盘 UDisk
  • 文件存储 UFS
  • 文件存储 UPFS
  • 对象存储 US3
  • 磁盘快照服务 USnap
  • 数据方舟 UDataArk
网络加速
  • 全球动态加速 PathX
  • 应用仓库加速 UAAA
云分发
  • 云分发 UCDN
视频服务
  • 云直播 ULive
边缘计算
  • 边缘计算虚拟机 UEC-VM
数据库
  • 云数据库 UDB MySQL
  • 云数据库 UDB MongoDB
  • 云数据库 UDB PostgreSQL
  • 云数据库 UDB SQL Server
  • 云内存 UMem Memcache
  • 云内存 UMem Redis
  • 分布式NewSQL数据库 TiDB
大数据与中间件
  • 托管Hadoop集群 UHadoop
  • 云搜索服务 CSS
  • Kafka消息队列 UKafka
数据仓库
  • 数据仓库 UDW Clickhouse
安全防护
  • WEB应用防火墙 UWAF
  • DDoS攻击防护 UDDoS
  • 主机入侵检测 UHIDS
安全合规
  • 堡垒机 UAuditHost
  • 等保咨询 UDBCP
  • 数据安全解决方案 UDSS
  • 安全屋 SafeHouse
监控与运维
  • 云监控 CloudWatch
  • 网络拨测 UNDT
  • 网络流量分析 NTA
多云与迁移
  • 数据传输服务 UDTS
混合云
  • 混合云 UHybrid
  • 金翼专区 UXZONE
  • 多云管理平台 UCMP
  • 天镜·智能告警 SkyM Alert
私有云
  • 私有云 UCloudStack
  • 智能大数据平台专业版 USDP
  • 超融合一体机 Utrion
  • 统一存储 UCloudStor
  • 信创云 UXC
云通信
  • 语音消息服务 UVMS
  • 短信服务 USMS
  • 视频短信 ISMS
  • 短链工具 USLK
企业应用
  • 域名服务 UDNR
  • SSL证书管理 USSL
通用人工智能
  • AI图像处理平台 PICPIK.AI
  • 模型服务平台 UModelVerse
解决方案
行业类
  • 行业类-零售
  • 行业类-政府
  • 行业类-金融
  • 行业类-出海
  • 行业类-医疗
  • 行业类-教育
  • 行业类-工业
  • 行业类-智慧楼宇
  • 行业类-疫情综合管理系统
  • 行业类-远程桌面
  • 行业类-云游戏
  • 行业类-智慧农业
  • 行业类-智慧物业与园区
  • 行业类-智慧能源
  • 行业类-智能汽车视频云
  • 行业类-新零售
通用类
  • 通用类-人工智能
  • 通用类-安全
  • 通用类-海量计算
  • 通用类-高可用
  • 通用类-云备份
  • 通用类-物联网
  • 通用类-云智能存储网关
  • 通用类-大数据
  • 通用类-视频云
  • 通用类-智慧运维
  • 通用类-边缘云
  • 通用类-混合云
文档中心
客户案例
教育
金融
游戏
移动社交
政务企业
新零售
视频直播
医疗健康
AI+IoT
更多案例
关于我们
公司介绍
新闻资讯
最新资讯
开源工作
服务
开发者资源
安全中心
数据保障(GDPR)
技术支持
运维服务
等保合规服务
备案服务
产品动态
安全公告 UCloud-202203-003:Spring Framework远程代码执行漏洞(CVE-2022-22965)

UCloud-202203-003:Spring Framework远程代码执行漏洞(CVE-2022-22965)

  • 发布时间 2022-03-31
  • 更新时间 2022-03-31
  • 漏洞等级 High
  • CVE编号 CVE-2022-22965

漏洞描述

Spring Framework 是一个开源应用框架,旨在降低应用程序开发的复杂度。它是轻量级、松散耦合的。它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架。但是在JDK9及以上版本环境中,一些新的版本特性,可以使攻击者绕过一些安全特性,借助某些中间件构造数据包修改敏感文件,达到远程代码执行目的。

漏洞影响排查方法

1.JDK 版本号排查
在业务系统的运行服务器上,Windows操作系统可在运行中执行cmd打开命令行,Linux操作系统可打开控制台窗口。执行“java -version"命令查看运行的 JDK 版本,如果版本号小于等于 8,则不受此漏洞影响。
2.Spring 框架使用情况排査
a、如果业务系统项目以 war 包形式部署,按照如下的步骤进行判断。
  1)解压 war 包:将war文件的后级修改成 .zip 文件。
  2)在解压缩目录下搜索是否存在 spring-beans-*.jar 格式的文件(例如spring-beans-5.3.16.jar),如存在则说明业务系统使用了Spring框架进行开发。
  3)如果spring-beans-*.jar文件不存在,则在解压缩目录下搜索CachedlntrospectionResults.class文件是否存在,如存在则说明业务系统使用了Spring框架进行开发。
b、如果业务系统项目以 jar 包形式独立运行,按照如下的步骤进行判断。
  1)解压 jar 包:将 jar 文件的后缀修改成 zip,解压 zip 文件。
  2)在解压缩目录下搜索是否存在 spring-beans-*.jar格式的jar文件(例如spring-beans-5.3.16.jar),如存在则说明业务系统使用了 Spring 框架进行开发。
  3)如果spring-beans-*.jar文件不存在,则在解压缩目录下搜索CachedIntrospectionResults.class 文件是否存在,如果存在则说明业务系统使用了 Spring 框架进行开发。
c、综合判断
在完成以上两个步骤排査后,同时满足以下三个条件可确定受此漏洞影响:
1)JDK 版本 >= 9。
2)使用了 Spring 框架或衍生框架。
3)项目中 Controller 参数接收实体类对象并存在代码调用。

解决方案

一、版本升级
目前,Spring官方已发布漏洞修复版本,请用户及时更新至最新版本。
https://github.com/spring-projects/spring-framework/tags
安全版本:
    Spring Framework == 5.3.18
    Spring Framework == 5.2.20
二、缓解措施
无法升级版本的用户,建议采用以下两个临时方案进行防护。
1. UWAF 防护
在UWAF配置中,根据实际业务部署的情况,配置正则规则,对 "class.module.*" 字符串添加过滤规则,在部署过滤规则后,对业务运行情况进行测试,避免产生额外影响。
注意:其中流量特征 "class.module.*" 对大小写不敏感。
2. 临时修复措施
需同时按以下两个步骤进行漏洞的临时修复:
(1)在应用中全局搜索@InitBinder 注解,着看方法体内是否调用dataBinder.setDisallowedFields 方法,如果发现此代码片段的引入,则在原来的黑名单中添加 { " class.module.*"}。
         注意:如果此代码片段使用较多,需要每个地方都追加。
(2)在应用系统的项目包下新建以下全局类,并保证这个类被Spring加载到(推荐在 Controller所在的包中添加),完成类添加后,需对项目进行重新编译打包和功能验证测试,并重新发布项目。对项目进行重新编译打包和功能验证测试。并重新发布项目。
    import org.springframework.core.annotation.Order;
        import org.springframework.web.bind.WebDataBinder;
        import org.springframework.web.bind.annotation.ControllerAdvice;
        import org.springframework.web.bind.annotation.InitBinder;
        @ControllerAdvice
        @Order(10000)
        public class GlobalControllerAdvice{
             @InitBinder
             public void setAllowedFields(webdataBinder dataBinder){
             String[]abd=new string[]{"class.*","Class.*","*.class.*","*.Class.*"};
             dataBinder.setDisallowedFields(abd);
             }
        }
注册享活动套餐

售前咨询

4000188113转1

售后咨询

4000188113转2

网站备案咨询

4000188113转3

公安备案咨询

4000188113转6

返回顶部
Copyright © 2012- UCloud
优刻得科技股份有限公司
Tel:4000188113

UCloud与云服务

  • 公司介绍
  • 加入我们
  • 素材下载
  • 域名供应商:新网

快速入口

  • 文档中心
  • 安全中心
  • 安全应急响应中心
  • UCloud举报平台
  • 12321举报中心
  • 互联网信息举报
  • UCloud App

常见问题

  • API相关
  • 登录相关
  • 服务相关
  • 备案相关
  • 计费相关

用户俱乐部

  • 用户社区
  • 推荐有礼
  • 优云智算
  • AI镜像社区
沪公网安备 31011002000058号 | 沪ICP备12020087号-3
微信二维码
长按保存图片,在微信中扫描该二维码

微博

Tel:4000188113

Copyright © 2012- UCloud
优刻得科技股份有限公司