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的安全漏洞。针对这个问题,官方已经发布了解决方案:
- 升级修复: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客户端注册的安全措施,以此来减轻漏洞的影响。
- 只允许受信任的应用注册为OAuth 2.0客户端。
- 为客户端注册过程添加人工审核步骤,以确保只有合法和符合公司策略的应用可以注册。
- 限制每个用户或者IP地址在一定时间内可以注册的OAuth 2.0客户端数量。
- 添加一个黑名单或者白名单系统,只允许白名单内的应用注册,或者禁止黑名单内的应用注册。 这个是最有效的解决方案
- 审计日志:对于可能已经被这个漏洞影响的系统,管理员可以查看其审计日志,以确定是否有任何未授权的用户试图利用这个漏洞。
升级到最新版本是最方便,也最能有效避免漏洞影响的解决方案。如果无法立即升级,也应采取其他必要的安全措施,以减少这个漏洞可能带来的影响。
相关文章:
Spring Security存在认证绕过漏洞 CVE-2021-22096
文章目录 0.前言1.参考文档2.基础介绍漏洞影响范围:官方说明:修复版本:漏洞利用步骤:修复方式: 3.解决方案 0.前言 背景:项目被扫到Spring Boot 的漏洞,严格的说应该是Spring Security 组件的漏…...
前端list列表自定义图标并设置大小
前端list列表自定义图标并设置大小 一、前端list列表基础知识回顾 前端公有两种列表,一种是有序列表(ol),一种是无序列表(ul),它们的子元素都是(li)。 1.1 有序列表&a…...
Multisim14.0仿真(五)三角波发生器
一、仿真原理图: 二、仿真效果:...
使用安全复制命令scp在Windows系统和Linux系统之间相互传输文件
现在已经有很多远程控制服务器的第三方软件平台,比如FinalShell,MobaXterm等,半可视化界面,使用起来非常方便和友好,两个系统之间传输文件直接拖就行,当然也可以使用命令方式在两个系统之间相互传递。 目录…...
SOC总线学习记录之ICB(Internal Chip Bus)
蜂鸟E203总线: 采用自定义总线协议 ICB(Internal Chip Bus),该总线用于蜂鸟 E203 内核内部使用,同时也可作为 SoC 中的总线使用。 ICB 总线的初衷是为了能够尽可能地结合 AXI 总线和 AHB 总线的优点,兼具高…...
rabbitMQ手动应答与自动应答
手动应答模式(manual) 解释: 手动应答:既是当消费者消费了队列中消息时需要给队列一个应答,告诉队列这条消息我已经消费了,可以删除了; 若是不应答,即使消费了 队列没收到消费成功的提示 所有消息会一直在队列中; 注意 注意 注意:重要的事情说三遍,下面说的…...
java对象创建的过程
1、检查指令的参数是否能在常量池中定位到一个类的符号引用 2、检查此符号引用代表的类是否已被加载、解析和初始化过。如果没有,就先执行相应的类加载过程 3、类加载检查通过后,接下来虚拟机将为新生对象分配内存。 4、内存分配完成之后,…...
WireShark流量抓包详解
目录 Wireshark软件安装Wireshark 开始抓包示例Wireshakr抓包界面介绍WireShark 主要界面 wireshark过滤器表达式的规则 Wireshark软件安装 软件下载路径:wireshark官网。按照系统版本选择下载,下载完成后,按照软件提示一路Next安装。 Wire…...
【密码学代码分享】突破ECDSA算法封装--JS无三方包纯手写ECDSA
ECDSA(Elliptic Curve Digital Signature Algorithm)是一种基于椭圆曲线密码学的数字签名算法。它用于确保数字数据的完整性和身份验证,通常在信息安全和加密通信中使用。在日常使用中,通常会使用一些函数库来实现完成这个算法的功…...
stable diffusion实践操作-文生图
本文专门开一节写文生图相关的内容,在看之前,可以同步关注: stable diffusion实践操作 正文 1 liblib SD1.5底模 lora(baihuaniang_1.0) 详细信息: 底模:SD 1.5 Lora:baihuaniang_1.0 正向提示词: Best …...
Spring容器及实例化
一、前言 Spring 容器是 Spring 框架的核心部分,它负责管理和组织应用程序中的对象(Bean)。Spring 容器负责创建、配置和组装这些对象,并且可以在需要时将它们提供给应用程序的其他部分。 Spring 容器提供了两种主要类型的容器&…...
# Go学习-Day9
文章目录 Channel声明存入取出一个简单的死锁分析 个人博客:CSDN博客 Channel Channel本质是一个队列多goroutine访问时不需要加锁,Channel天然线程安全channel有类型,只能写入相同类型channel是引用类型channel必须初始化才能写入数据&…...
chatGPT如何在Java中使用
ChatGPT是一个基于GPT模型的聊天机器人平台,它提供了API接口,可以通过HTTP请求与之交互。您可以使用Java编写程序,通过HTTP请求与ChatGPT进行交互,实现聊天机器人的功能。 具体步骤如下: 1、注册ChatGPT账号并创建应…...
vue+axios——创建多个实例共用请求拦截器和响应拦截器(403错误信息不提示bug解决)——基础积累
创建多个实例共用请求拦截器和响应拦截器:使用的是函数的继承,也就是call()方法,这个方法第一个参数就是this,后面的参数可以是一个也可以是多个。最后一定要记得要return出去,否则接口是拿不到数据的。 import axios from axios…...
全球免费编程教育网站:Code.org
全球免费编程教育网站:Code.org 官网地址注册使用 你还在为小朋友的编程教育而发愁吗? 你还在为小朋友放假无聊而头疼吗? 他来了他来了,全球免费编程教育网站来了。 2013年成立的Code.org是一个非营利组织。 它致力于为年轻女子、…...
构造函数与成员变量初始化
C自学精简教程 目录(必读) 1 为什么需要定义构造函数? 构造函数主要用来给成员变量初始化。 让类对象有一个良好的开始状态。 2 构造函数初始化成员变量 下面我们来完善上一篇文章中的几个构造函数。 让这些构造函数完成给成员变量初始化的职责。 为此&#…...
使用Go env命令设置Go的环境
文章目录 前言Linux的设置Windlows设置Go version > 1.13 当你的GO的版本大于1.13的时候 Set environment variable allow bypassing the proxy for selected modules 前言 在进行Go开发的时候,设置Go的环境变量信息是必须的。下面介绍windows和Linux࿰…...
目标检测YOLO实战应用案例100讲-道路场景下目标检测与分割模型的压缩研究与实现(续)
目录 道路场景下目标检测与语义分割模型的改进研究 3.1 道路场景数据集分析 3.1.1 Cityscapes数据集...
b站手机缓存文件转MP4
b站缓存的文件 音频、视频、弹幕是分开的 这里我只用到了音频和视频所以只介绍这一部分 b站的缓存视频文件和路径结构如下 默认缓存路径 内部存储\Android\data\tv.danmaku.bilil\download\89720189 文件夹结构 文件夹 c_738583 这是单个视频的缓存文件夹 进入c_738583文件夹…...
一个集成的BurpSuite漏洞探测插件1.2
4、DNSLog查询漏报 注:扫描结束后才会在BurpSuite的Target、Dashboard模块显示高危漏洞,进程扫描中无法进行同步,但可以在插件中查看(涉及到DoPassive方法问题)。...
如何保证 Session ID 的随机性和不可猜测性?
你的 Session ID 安全吗?—— 从可预测的“门禁卡”到安全的“加密钥匙”1. 引言:一张编号可以被猜到的门禁卡2. Session 与 Session ID:会话的“钥匙”3. 为什么 Session ID 必须随机且不可预测?4. 攻击详解:会话劫持…...
用仓颉语言搞定编译原理实验:从正则表达式到DFA的保姆级实现(附完整代码)
用仓颉语言实现编译原理实验:从正则表达式到DFA的实战指南 第一次接触编译原理实验时,看着那些晦涩的算法描述和数学符号,我完全不知道如何下手。直到用仓颉语言完整实现了从正则表达式到NFA再到DFA的转换过程,才真正理解了这些概…...
效率倍增:借助快马ai智能生成与管理系统化java面试题库
作为一名经常需要准备Java面试的开发者,我深刻体会到传统刷题方式的低效——手动收集题目、整理答案、标注重点不仅耗时,还容易遗漏关键知识点。最近尝试用InsCode(快马)平台的AI功能搭建了一个智能题库工具,效率提升超乎想象。以下是具体实现…...
城通网盘直连解析终极指南:3步实现高速免费下载
城通网盘直连解析终极指南:3步实现高速免费下载 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet ctfileGet是一个专业的城通网盘直连地址解析工具,能够帮助用户绕过复杂的下载流程…...
5步构建专业视频工作流:OBS虚拟摄像头在macOS上的全面应用
5步构建专业视频工作流:OBS虚拟摄像头在macOS上的全面应用 【免费下载链接】obs-mac-virtualcam ARCHIVED! This plugin is officially a part of OBS as of version 26.1. See note below for info on upgrading. 🎉🎉🎉Creates …...
革新性突破:Mac百度网盘下载速度解放方案
革新性突破:Mac百度网盘下载速度解放方案 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS BaiduNetdiskPlugin-macOS是一款专为Mac用户设计的…...
iOS激活锁终极绕过:3步解锁Apple设备完整指南
iOS激活锁终极绕过:3步解锁Apple设备完整指南 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 你是否曾经遇到过这样的情况:购买了一台二手iPhone,却发现它被原主人的…...
Oracle 数据库中的 REF 类型与触发器的使用
在 Oracle 数据库中,引用类型(REF)是对象类型之间关联的一种强大工具。特别是在复杂的企业应用中,REF 类型可以帮助我们建立对象间的引用关系,模拟现实世界的关系模型。本文将通过一个实际的例子,介绍如何在 Oracle 中使用 REF 类型,以及如何通过触发器(Trigger)来确保…...
告别重复造轮子:用快马AI一键生成Unity通用数据管理模块,提升开发效率
今天想和大家分享一个提升Unity开发效率的实用技巧——如何快速构建一个通用的游戏数据管理模块。这个模块可以帮我们告别重复造轮子的痛苦,把更多精力放在游戏核心玩法的开发上。 为什么需要通用数据管理模块 在Unity开发中,我们经常需要处理各种游戏数…...
避开SAP记账第一个坑:F-02凭证录入的5个细节与FS10N对账技巧
SAP财务实操避坑指南:F-02凭证录入的5个关键细节与FS10N高效对账技巧 刚接触SAP FI模块的中级用户,往往在完成基础培训后信心满满地开始独立操作,却在F-02凭证录入时频频踩坑。这些看似简单的字段选择背后,隐藏着财务逻辑与系统设…...
