Spring Security存在认证绕过漏洞 CVE-2021-22096

文章目录

  • 0.前言
  • 1.参考文档
  • 2.基础介绍
    • 漏洞影响范围:
    • 官方说明:
    • 修复版本:
    • 漏洞利用步骤:
    • 修复方式:
  • 3.解决方案

在这里插入图片描述

0.前言

背景:项目被扫到Spring Boot 的漏洞,严格的说应该是Spring Security 组件的漏洞,安全部门要求快速修复,查阅了一些资料,整理以下。

CVE-2021-22096是一个针对Spring Security的安全漏洞。Spring Security是一个在Java应用程序中提供安全服务的框架,它提供了一整套的安全性功能,包括认证和授权等。

根据CVE(Common Vulnerabilities and Exposures)数据库的描述,CVE-2021-22096主要影响Spring Security 5.5.0到5.5.1版本,以及Spring Security 5.4.0到5.4.7版本。这个漏洞主要存在于Spring Security处理OAuth 2.0客户端注册的方式中。如果攻击者能够以已注册的OAuth 2.0客户端的身份进行身份验证,他们就可能会获取到更高的权限。

Spring Security的开发团队已经在5.5.2及5.4.8版本中修复了这个问题,建议所有使用受影响版本的用户尽快升级到新的版本以避免受到这个漏洞的影响。

对于开发者来说,安全性是一个非常重要的问题,任何一个小的漏洞都可能会被攻击者利用,因此,开发者应当时刻关注相关的安全更新,并尽快采取措施进行修复和升级。同时,开发者也应该在开发过程中注重安全性,尽量避免这类漏洞的产生。

1.参考文档

在这里插入图片描述
CVE(Common Vulnerabilities and Exposures,公共漏洞与暴露)的记录 https://www.cve.org/CVERecord?id=CVE-2021-22096
CVE是一个公开的全球漏洞数据库,每当发现一个新的安全漏洞,CVE都会给它分配一个唯一的ID以便于跟踪和引用。CVE的格式通常为"CVE-年份-编号"。

根据CVE-2021-22096的描述,这是一个影响VMware vCenter Server的漏洞。 VMware提交的 。

这个漏洞是一种服务器端请求伪造(SSRF)漏洞,这种漏洞会让攻击者能够向被攻击者服务器能访问的内部网络发送伪造的HTTP或HTTPS请求。这可能会导致未授权的信息泄露或者被攻击者的服务器被用于攻击内部网络。

这个漏洞的CVSS(Common Vulnerability Scoring System,公共漏洞评分系统)基础分数为8.6/10,表示这是一个相当严重的漏洞。CVSS是一个为了量化(衡量、评分)漏洞的严重程度和紧急性而开发的一个系统。

2.基础介绍

CVE-2021-22096是一个影响Spring Security的安全漏洞。Spring Security是一个被广泛使用的Java安全框架,它提供了许多强大的安全性功能,如身份验证和授权。

漏洞影响范围:

这个漏洞主要影响Spring Security 5.5.0到5.5.1版本,以及Spring Security 5.4.0到5.4.7版本

官方说明:

这个漏洞存在于Spring Security处理OAuth 2.0客户端注册的方式中。如果攻击者能够以已注册的OAuth 2.0客户端的身份进行身份验证,他们就可能会获取到更高的权限。

修复版本:

Spring Security的开发团队已经在5.5.2和5.4.8版本中修复了这个问题。

漏洞利用步骤:

具体的漏洞利用步骤可能会涉及到技术细节,一般来说,攻击者需要首先找到一个已注册的OAuth 2.0客户端,然后以该客户端的身份进行身份验证,以此来提升他们的权限。

修复方式:

Spring Security的用户应该尽快升级到最新的版本。对于使用5.5.0到5.5.1版本的用户,应该升级到5.5.2版本。对于使用5.4.0到5.4.7版本的用户,应该升级到5.4.8版本。

一般来说,修复这类漏洞的最佳方式就是升级到最新的版本。如果由于某些原因无法升级,用户也可以尝试禁用或限制受影响的功能,以此来减轻漏洞的影响。在这个案例中,用户可以考虑限制或增加OAuth 2.0客户端注册的安全措施。

CVE-2021-22096是一个影响Spring Security的安全漏洞。这个漏洞的存在,使得攻击者能以已注册的OAuth 2.0客户端的身份进行身份验证,从而可能获取更高的权限。这主要是因为在处理OAuth 2.0客户端注册的过程中,Spring Security没有正确地进行权限验证。

此类漏洞的产生通常是由于在设计和实现阶段,对安全要求理解不足或疏忽,导致在处理客户端注册时没有进行足够的安全性检查。

3.解决方案

CVE-2021-22096是一个影响Spring Security的安全漏洞。针对这个问题,官方已经发布了解决方案:

  1. 升级修复:Spring Security的用户应该尽快升级到最新的版本。对于使用5.5.0到5.5.1版本的用户,应该升级到5.5.2版本。对于使用5.4.0到5.4.7版本的用户,应该升级到5.4.8版本。

2.临时解决方案 限制OAuth 2.0客户端注册:如果由于某些原因无法立即升级,用户可以考虑限制或增加OAuth 2.0客户端注册的安全措施,以此来减轻漏洞的影响

  1. 只允许受信任的应用注册为OAuth 2.0客户端。
  2. 为客户端注册过程添加人工审核步骤,以确保只有合法和符合公司策略的应用可以注册。
  3. 限制每个用户或者IP地址在一定时间内可以注册的OAuth 2.0客户端数量。
  4. 添加一个黑名单或者白名单系统,只允许白名单内的应用注册,或者禁止黑名单内的应用注册。 这个是最有效的解决方案
  1. 审计日志:对于可能已经被这个漏洞影响的系统,管理员可以查看其审计日志,以确定是否有任何未授权的用户试图利用这个漏洞。

升级到最新版本是最方便,也最能有效避免漏洞影响的解决方案。如果无法立即升级,也应采取其他必要的安全措施,以减少这个漏洞可能带来的影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/110525.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

地下水质分析积分球

我国的河流水资源相当丰富,河川径流总量历年来位居世界第三,年均达到了27000亿m。但经济快速发展的同时对河流水资源产生了一定的负面影响,河流水质污染和富营养化的现象偶有发生,在对我国七大水系216条河流503个主要断面进行监测…

【学习笔记】求解线性方程组的G-S迭代法

求解线性方程组的G-S迭代法 // 运行不成功啊function [x,k,index] Gau_Seid(A,b,ep,it_max) % 求解线性方程组的G-S迭代法,其中 % A为方程组的系数矩阵 % b为方程组的右端项 % ep为精度要求,省缺为1e-5 % it_max为最大迭代次数,省缺为100 % …

Redis之集群模式

一、Redis集群 一个节点就是一个运行在集群模式下的Redis服务器,Redis服务器在启动时会根据cluster-enabled配置选项是否为yes来决定是否开启服务器的集群模式。 Redis节点不会互相发现,连接各个节点的工作需要使用cluster meet命令来完成 CLUSTER MEE…

自然语言处理(三):基于跳元模型的word2vec实现

跳元模型 回顾一下第一节讲过的跳元模型 跳元模型(Skip-gram Model)是一种用于学习词向量的模型,属于Word2Vec算法中的一种。它的目标是通过给定一个中心词语来预测其周围的上下文词语。 这节我们以跳元模型为例,讲解word2vec的…

【Python开发环境搭建】【Pycharm设置】 新建python文件默认添加编码格式、时间、作者、文件名等信息

1、设置路径 打开pycharm,选择File->Settings(Ctrl Alt S),Editor->File and Templates->Python Script 文件- 设置-编辑器-文件和代码模板-Python Script 2、设置内容 # -*- coding: utf-8 -*- # Time : ${DATE} …

pom.xml配置文件失效,显示已忽略的pom.xml --- 解决方案

现象: 在 Maven 创建模块Moudle时,由于开始没有正确创建好,所以把它删掉了,然后接着又创建了与一个与之前被删除的Moudle同名的Moudle时,出现了 Ignore pom.xml,并且新创建的 Module 的 pom.xml配置文件失效&#xf…

JVM 访问对象的两种方式

Java 程序会通过栈上的 reference 数据来操作堆上的具体对象。由于 reference 类型在《Java 虚拟机规范》里面只规定了它是一个指向对象的引用,并没有定义这个引用应该通过什么方式去定位、访问到堆中对象的具体位置,所以对象访问方式也是由虚拟机实现而…

如何通过内网穿透实现外部网络对Spring Boot服务端接口的HTTP监听和调试?

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…

[uniapp] scroll-view 简单实现 u-tabbar效果

文章目录 方案踩坑1.scroll-view 横向失败2.点击item不滚动?3. scrollLeft从哪里来? 效果图 方案 官方scroll-view 进行封装 配合属性 scroll-left Number/String 设置横向滚动条位置 即可 scroll-into-view 属性尝试过,方案较难实现 踩坑 1.scroll-view 横向失败 安装…

ACE_Proactor

服务端代码&#xff1a; #include "stdafx.h" #include <iostream> #include "ace/Message_Queue.h" #include "ace/Asynch_IO.h" #include "ace/OS.h" #include "ace/Proactor.h" #include "ace/Asynch_Accept…

网络综合布线专业技能人才培养方案

一、网络综合布线专业技能人才培养方案概述 网络综合布线专业技能人才培养方案旨在培养具备综合布线系统设计、安装与维护的全面技能和知识的专业人才。以下是一个概述&#xff1a; 培养目标&#xff1a;培养具备综合布线系统的理论基础和实践操作技能的专业人才&#xff0c;能…

MySQL中的free链表,flush链表,LRU链表

一、free链表 1、概述 free链表是一个双向链表数据结构&#xff0c;这个free链表里&#xff0c;每个节点就是一个空闲的缓存页的描述数据块的地址&#xff0c;也就是说&#xff0c;只要你一个缓存页是空闲的&#xff0c;那么他的描述数据块就会被放入这个free链表中。 刚开始数…

Java 体系性能优化工具

Java 体系性能优化 目录概述需求&#xff1a; 设计思路实现思路分析1.oom 异常来说&#xff1a;2.visualvm3.Arthas4.JProfiler &#xff08;全面&#xff09;5.jmeter 特有 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect…

LeetCode第16~20题解

CONTENTS LeetCode 16. 最接近的三数之和&#xff08;中等&#xff09;LeetCode 17. 电话号码的字母组合&#xff08;中等&#xff09;LeetCode 18. 四数之和&#xff08;中等&#xff09; LeetCode 16. 最接近的三数之和&#xff08;中等&#xff09; 【题目描述】 给你一个…

vmware整理

一 部署ESXi 主机与vCenter(VCSA) 实验拓扑描述 实验部分 ESXi 安装 官方下载地址&#xff1a;www.vmware.com 下拉找到vSphere免费版本下载 登录后点击查看我的评估获取自己能下载的版本 VCSA的安装&#xff1a; vCenter&#xff08;VCSA&#xff09;部署 理论描述 虚拟化…

前端:html实现页面切换、顶部标签栏,类似于浏览器的顶部标签栏(完整版)

效果 代码 <!DOCTYPE html> <html><head><style>/* 左侧超链接列表 */.link {display: block;padding: 8px;background-color: #f2f2f2;cursor: pointer;}/* 顶部标签栏 */#tabsContainer {width:98%;display: flex;align-items: center;overflow-x: …

MybatisPlus-插件篇

文章目录 一、前言二、插件1、分页插件2.1.1、引入依赖2.1.1、配置分页插件2.1.3、使用分页方法 2、乐观锁插件2.1、引入依赖2.2、添加版本字段2.3、配置乐观锁插件2.4、执行更新操作 三、总结 一、前言 本文将详细介绍mybatisplus中常用插件的使用。 二、插件 1、分页插件 …

stm32之DS18B20

DS18B20与stm32之间也是通过单总线进行数据的传输的。单总线协议在DHT11中已经介绍过。虽说这两者外设都是单总线&#xff0c;但时序电路却很不一样&#xff0c;DS18B20是更为麻烦一点的。 DS18B20 举例&#xff08;原码补码反码转换_原码反码补码转换_王小小鸭的博客-CSDN博客…

归并排序(Java 实例代码)

目录 归并排序 一、概念及其介绍 二、适用说明 三、过程图示 四、Java 实例代码 MergeSort.java 文件代码&#xff1a; 归并排序 一、概念及其介绍 归并排序&#xff08;Merge sort&#xff09;是建立在归并操作上的一种有效、稳定的排序算法&#xff0c;该算法是采用分…

迅为RK3588开发板Android12 设置系统默认不锁屏

修改 frameworks/base/packages/SettingsProvider/res/values/defaults.xml 文件&#xff0c;修改为如下 所示&#xff1a; - <bool name"def_lockscreen_disabled">false</bool> <bool name"def_lockscreen_disabled">true</bool&…