- CNNVD编号:未知
- 危害等级: 高危
- CVE编号:CVE-2022-31692
- 漏洞类型: 身份认证绕过
- 威胁类型:未知
- 厂 商:未知
- 漏洞来源:深信服
- 发布时间:2023-03-20
- 更新时间:2023-03-20
漏洞简介
漏洞公示
参考网站
受影响实体
补丁
解决方案
如何检测组件版本
方法一
Windows 系统:
全盘搜索 spring-security-bom- ,如果存在 spring-security-bom-{version}.jar ,则用户可能受影响。
Linux 系统:
使用 find / -name ‘spring-security*’ 命令搜索,如果存在 spring-security-bom-{version}.jar 则用户可能受漏洞影响。
方法二
若为 Maven 项目,可查看项目 pom.xml 中 spring-security-core 和 spring-security-web 的 version 字段值是否位于受影响版本。
<dependencies>
<!-- ... other dependency elements ... --!>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.6.9</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>5.6.9</version>
</dependency>
</dependencies>
如果 pom.xml 中没有写明 spring-security-core 和 spring-security-web 的版本号,说明使用了 Springboot 内置的 Spring Security 组件,可以在此链接中查询 Springboot 对应版本内置 Spring Security 的版本号。
查询链接:https://github.com/spring-projects/spring-boot/releases
官方修复建议
当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。链接如下:
https://spring.io/projects/spring-security
打补丁/升级方法:
升级 Springboot 至安全版本,或修改 pom.xml 中 spring-security-web 和 spring-security-core 的版本,强制使用安全版本的 Spring Security 依赖。
临时修复建议
该临时修复建议存在一定风险,建议用户可根据业务系统特性审慎选择采用临时修复方案:
当 Spring Security ≥ 5.7.0 ,可使用 authorizeRequests().filterSecurityInterceptorOncePerRequest(false) 代替 authorizeHttpRequests().shouldFilterAllDispatcherTypes(true)
当 Spring Security < 5.7.0 时 shouldFilterAllDispatcherTypes 方法不可用,可通过添加 ObjectPostProcessor 缓解此漏洞。
最后保存并重启服务即可生效。修复后结果: