问题:
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。
Spring Security存在使用未前缀的双通配符模式造成 WebFlux 安全绕过漏洞,在WebFlux的Spring Security配置中使用“**”作为模式,会导致Spring Security和Spring WebFlux之间模式不匹配,并可能造成安全绕过。
问题位置信息
- spring-security-config
当前安装版本:5.7.9
应用相关信息:
- SpringBoot项目包路径:/app/nacos-2.2.3/target/nacos-server.jar
- SpringBoot子包名称:spring-security-config-5.7.9.jar
解决方法:
将 Spring Security 升级到 5.6.12、5.7.10、5.8.5、6.0.5、6.1.2 及以上版本,下载地址:https://github.com/spring-projects/spring-security/releases
实践
01.思路一
找到github上nacos的社区,发现类似问题,开发者于三月发布新版本解决此漏洞,只需更新nacos版本即可
02.思路二
下载当前版本nacos源码,手动排除nacos中的spring-security旧版本,改为5.7.10版本。spring-boot-starter中security默认是5.7.9版本
1.先在nacos-all中导入依赖
<dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> <version>5.7.10</version> </dependency>