Spring Security 的身份验证绕过漏洞CVE-2023-34035

文章目录

  • 0.前言
    • 漏洞
    • 漏洞介绍
    • 描述
  • 1.参考文档
  • 2.基础介绍
    • 2.1 组件简介:
    • 2.2 漏洞简介:
  • 3.解决方案
    • 3.1. 升级版本

在这里插入图片描述

0.前言

背景:公司收到关于 Spring Security 的一个身份验证绕过漏洞的通知,该漏洞被标识为 CVE-2023-34035

漏洞

高 | 2023年7月17日 | CVE-2023-34035

关于 Spring Security 的一个身份验证绕过漏洞的通知,该漏洞被标识为 CVE-2023-34035,

漏洞介绍

CVE-2023-34034:WebFlux使用未加前缀的双通配符模式绕过安全性

描述

受影响的Spring产品和版本
Spring Security 5.8.0至5.8.4
Spring Security 6.0.0至6.0.4
Spring Security 6.1.0至6.1.1

受影响版本的用户应采取以下缓解措施。

首先:

5.8.x应升级到5.8.5
6.0.x应升级到6.0.5
6.1.x应升级到6.1.2

1.参考文档

  1. CVE 官方网站 https://www.cve.org/CVERecord
    在这里插入图片描述

  2. https://spring.io/security/cve-2023-34035

  3. https://nvd.nist.gov/vuln/detail/CVE-2023-34035

2.基础介绍

2.1 组件简介:

Spring Security 是一个安全框架,提供身份验证、授权和其他安全功能,用于保护 Web 应用免受攻击。其主要目标是确保只有经过身份验证和授权的用户可以访问应用程序的特定部分或执行特定操作。

2.2 漏洞简介:

收到关于 Spring Security 的一个身份验证绕过漏洞的通知,该漏洞被标识为 CVE-2023-34035,

受影响的 Spring Security 版本存在授权规则配置错误的漏洞,如果应用程序使用 requestMatchers(String) 和多个 Servlet,其中一个是 Spring MVC 的 DispatcherServlet。

(DispatcherServlet 是一个 Spring MVC 组件,将 HTTP 端点映射到带有 @Controller 注解的类的方法。)

具体而言,当满足以下条件时,应用程序就存在漏洞:

  • 类路径上存在 Spring MVC。
  • Spring Security 在单个应用程序中保护多个 Servlet(其中一个是 Spring MVC 的 DispatcherServlet)。
  • 应用程序使用 requestMatchers(String) 引用非 Spring MVC 端点。

如果满足以下任何条件,应用程序就不会存在漏洞:

  • 应用程序没有在类路径上引入 Spring MVC。
  • 应用程序只保护了 Spring MVC 的 DispatcherServlet,没有其他 Servlet。
  • 应用程序仅将 requestMatchers(String) 用于 Spring MVC 端点。
  1. 受影响的版本:
  • 5.8.0 ≤ Spring Security ≤ 5.8.4
  • 6.0.0 ≤ Spring Security ≤ 6.0.4
  • 6.1.0 ≤ Spring Security ≤ 6.1.1

3.解决方案

3.1. 升级版本

以下Spring Security版本修复了此漏洞:

Spring Security 5.8.0至5.8.4
Spring Security 6.0.0至6.0.4
Spring Security 6.1.0至6.1.1

上述版本要求使用以下Spring Framework版本:

5.8.x应升级到5.8.5
6.0.x应升级到6.0.5
6.1.x应升级到6.1.2

Spring 建议采取以下两步缓解措施:
步骤 1:升级到最新版本的 Spring Security(6.1.2 / 6.0.5 / 5.8.5)。链接:https://spring.io/projects/spring-security

步骤 2:如果您正在使用多个 Servlet,其中一个是 Spring MVC 的 DispatcherServlet,在启动时可能会看到以下错误消息:

This method cannot decide whether these patterns are Spring MVC patterns or not. 
If this endpoint is a Spring MVC endpoint,please use requestMatchers(MvcRequestMatcher); otherwise, please use requestMatchers(AntPathRequestMatcher).

请按照此错误消息进行操作。

例如,如果使用requestMatchers(String)指向一个非 Spring MVC 端点 /endpoint,那么将其更改为 requestMatchers(new AntPathRequestMatcher("/endpoint"))

如果使用 requestMatchers(String) 指向一个 Spring MVC 端点 /mvc-endpoint,那么将其更改为 requestMatchers(new MvcRequestMatcher(introspector, "/mvc-endpoint")),其中 introspector 是一个 @Autowired 的 HandlerMappingIntrospector

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【大数据开发技术】实验01-Hadoop安装部署

文章目录 Hadoop安装部署一、实验目标二、实验要求三、实验内容四、实验步骤 Hadoop安装部署 虚拟机数量:3 系统版本:Centos 7.5 Hadoop版本: Apache Hadoop 2.7.3 主节点信息: 操作系统:CentOS7.5 软件包位置&…

【机器学习】回归问题实例(李宏毅老师作业1)

文章目录 任务介绍完成和调参 任务介绍 问题描述 给出美国某一州过去3天的调查结果,然后预测第3天新检测阳性病例的百分比。 数据相关特征feature States(34, encode to one-hot vectors) 34个州COVID-like illness&#xff0…

2101. 引爆最多的炸弹;752. 打开转盘锁;1234. 替换子串得到平衡字符串

2101. 引爆最多的炸弹 核心思想:枚举BFS。枚举每个炸弹最多引爆多少个炸弹,对每个炸弹进行dfs,一个炸弹能否引爆另一个炸弹是两个炸弹的圆心距离在第一个炸弹的半径之内。 752. 打开转盘锁 核心思想:典型BFS,就像水源扩散一样&a…

打造本地紧密链接的开源社区——KCC@长沙开源读书会openKylin爱好者沙龙圆满举办...

2023年9月9日,由开源社联合 openKylin 社区举办的 KCC长沙开源读书会&openKylin 爱好者沙龙,在长沙圆满举办。这是 KCC长沙首次正式进入公众视野,开展开源交流活动,也是 openKylin 社区长沙首场线下沙龙。长沙地区及其周边的众…

期刊目录解析 | 慎投!又2本“On Hold”SCI期刊被踢!

科睿唯安官方目前对SCI期刊的管理可以说是相当严格的,每个月都会出评估报告,如果任何一本期刊有问题,就会先被“On Hold”,这代表需要重新评估是否符合SCI标准,有可能直接被剔除。 此前,小编也为大家统计了…

Pdf文件签名检查

如何检查pdf的签名 首先这里有一个已经签名的pdf文件&#xff0c;通过pdf软件可以看到文件的数字签名。 图1为签名后的文件&#xff0c;图2为签名后文件被篡改。 下面就是如何代码检查这里pdf文件的签名 1.引入依赖 <dependency><groupId>org.projectlombok<…

C语言 coding style

头文件 The #define Guard #define的保护文件的唯一性&#xff0c;防止被多重包含 格式 : <PROJECT>_< FILE>_H_ PROJECT : XS FILE : MV_CTR 头文件的包含顺序 C System FilesOther LibrariesUser LibraryConditional include 作用域 局部变量 -变量定义时需要…

ElementUI之登录与注册

目录 一.前言 二.ElementUI的简介 三.登录注册前端界面的开发 三.vue axios前后端交互--- Get请求 四.vue axios前后端交互--- Post请求 五.跨域问题 一.前言 这一篇的知识点在前面两篇的博客中就已经详细详解啦&#xff0c;包括如何环境搭建和如何建一个spa项目等等知识…

#循循渐进学51单片机#指针基础与1602液晶的初步认识#not.11

1、把本节课的指针相关内容&#xff0c;反复学习3到5遍&#xff0c;彻底弄懂指针是怎么回事&#xff0c;即使是死记硬背也要记住&#xff0c;等到后边用的时候可以实现顿悟。学会指针&#xff0c;就是突破了C语言的一道壁垒。 2&#xff0c;1602所有的指令功能都应用一遍&#…

网络编程.

网络编程就相当于通过网络进行数据的传输&#xff0c;可以传给别人&#xff0c;不仅限于自己&#xff1b; 常见软件架构 BS优点 1.不需要开发客户端&#xff0c;只需要页面服务器 2.不用下载 缺点 如果应用过大 cs优点 1.画面精美 缺点 1.客户端&#xff0c;服务端都要…

【C++】静态成员函数 ( 静态成员函数概念 | 静态成员函数声明 | 静态成员函数访问 | 静态成员函数只能访问静态成员 )

文章目录 一、静态成员函数简介1、静态成员函数概念2、静态成员函数声明3、静态成员函数访问4、静态成员函数只能访问静态成员 二、代码示例 - 静态成员函数 一、静态成员函数简介 1、静态成员函数概念 静态成员函数归属 : 在 C 类中 , 静态成员函数 是一种 特殊的函数 , 该函数…

Python教程(14)——Python函数的入门学习

函数是什么&#xff1f;在编程中&#xff0c;函数是一段可重用的代码块&#xff0c;用于完成特定任务或执行特定操作。它可以接输入参数并返回一个值或执行一系列操作。函数可以帮助程序员将代码模块化&#xff0c;提高代码的可读性和可维护性。 函数通常包括以下组成部分&…

基于Java的高校竞赛管理系统设计与实现(亮点:发起比赛、报名、审核、评委打分、获奖排名,可随意更换主题如蓝桥杯、ACM、王者荣耀、吃鸡等竞赛)

高校竞赛管理系统 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序&#xff08;小蔡coding&#xff09;2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述4.2 系统角色 五、系统…

文心一言 VS 讯飞星火 VS chatgpt (98)-- 算法导论9.3 4题

四、用go语言&#xff0c;对一个包含n个元素的集合&#xff0c;假设一个算法只使用比较来确定第i小的元素&#xff0c;证明:无需额外的比较操作&#xff0c;它也能找到第 i-1 小的元素和第 n-i大的元素。 文心一言&#xff1a; 在这个问题中&#xff0c;我们要使用一个称为&q…

ArrayList 的自动扩容机制

触发扩容 ArrayList 是一个数组结构的存储容器&#xff0c;默认情况下&#xff0c;数组的长度是 10 当然我们也可以在构建 ArrayList 对象的时候自己指定初始长度。随着在程序里面不断的往 ArrayList 中添加数据&#xff0c;当添加的数据达到 10 个的时候&#xff0c;ArrayLis…

7.2、如何理解Flink中的水位线(Watermark)

目录 0、版本说明 1、什么是水位线&#xff1f; 2、水位线使用场景&#xff1f; 3、设计水位线主要为了解决什么问题&#xff1f; 4、怎样在flink中生成水位线&#xff1f; 4.1、自定义标记 Watermark 生成器 4.2、自定义周期性 Watermark 生成器 4.3、内置Watermark生…

在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

爬虫实践-豆瓣读书Top250

爬虫学习与实践 一、爬虫介绍二、爬虫原理TCP3次握手&#xff0c;4次挥手过程 三、页面解析之数据提取四、正则表达式五、实践1. 抓取百度贴吧2. 拉钩招聘网 六、 进阶版 一、爬虫介绍 网络爬虫&#xff0c;其实叫作网络数据采集更容易理解。就是通过编程向网络服务器请求数据…

xp 系统 安装 python 2.7 ide pip

1 下载python http://www.python.org/ftp/python/ python-2.7.2.msi 安装完需要设置环境变量 2 下载 setuptools setuptools-0.6c11.win32-py2.7.exe https://pypi.tuna.tsinghua.edu.cn/simple/setuptools/ 3 下载 pip &#xff0c;python 2.7 最高支持 pip 20.3.4 https:…

mysql 半同步复制模式使用详解

目录 一、前言 二、mysql主从架构简介 2.1 mysql主从复制架构概述 2.2 为什么使用主从架构 2.2.1 提高数据可用性 2.2.2 提高数据可靠性 2.2.3 提升数据读写性能 2.3 主从架构原理 2.4 主从架构扩展 2.4.1 双机热备&#xff08;AB复制&#xff09; 2.4.2 级联复制 2…