本页面列出了 Spring 安全通告。
CVE-2022-22980:通过注解存储库查询方法导致的 Spring Data MongoDB SpEL 表达式注入漏洞
CVE-2022-22979:Spring Cloud Function DoS 漏洞
CVE-2022-22976:BCrypt 在工作因子为 31 时跳过盐值轮数
说明
Spring Security 5.5.7 之前的 5.5.x 版本、5.6.4 之前的 5.6.x 版本以及更早不受支持的版本存在整数溢出漏洞。当使用最大工作因子 (31) 的 BCrypt 类时,编码器由于整数溢出错误而不执行任何盐值轮数。
默认设置不受此 CVE 影响。
仅在 BCryptPasswordEncoder 配置了最大工作因子的情形下才会受到影响。由于当前计算机硬件的限制,使用如此高的工作因子在计算上不切实际。
您需要使用工作因子为 31 的 BCrypt 才会受到影响。您可以使用以下缓解工具检查您的密码是否受到影响。
受影响的 Spring 产品和版本
- Spring Security
- 5.5.7 之前的 5.5.x
- 5.6.4 之前的 5.6.x
- 更早不受支持的版本
缓解措施
在更新到最新版本之前,请更新您的 BCryptPasswordEncoder 以使用较低的轮数。在撰写本文时,OWASP 建议值为 10。
然后,使用上面提到的缓解工具更新您的密码哈希值。
更新密码哈希后,您应该按照以下方式更新您的版本:5.5.x 用户应升级到 5.5.7,5.6.x 用户应升级到 5.6.4,或者用户应升级到 5.7.0。升级 Spring Security 依赖后,您应建议受影响的用户更改密码。
缓解措施常见问题解答也可在缓解工具中找到。
已修复此问题的版本包括
- Spring Security
- 5.5.7
- 5.6.4
- 5.7.0
致谢
此问题由 Eyal Kaspi 发现并负责任地报告。
参考资料
CVE-2022-22978:RegexRequestMatcher 中的授权绕过漏洞
说明
在 Spring Security 5.4.10、5.5.6、5.6.3 版本以及更早不受支持的版本中,RegexRequestMatcher 容易因配置错误而在某些 servlet 容器上被绕过。
使用在正则表达式中包含 `.` 的 RegexRequestMatcher 的应用程序可能容易受到授权绕过攻击。
受影响的 Spring 产品和版本
- Spring Security
- 5.4.11 之前的 5.4.x
- 5.5.7 之前的 5.5.x
- 5.6.4 之前的 5.6.x
- 更早不受支持的版本
缓解措施
用户应更新到包含修复的版本。5.5.x 用户应升级到 5.5.7 或更高版本。5.6.x 用户应升级到 5.6.4 或更高版本。已修复此问题的版本包括
- Spring Security
- 5.4.11+
- 5.5.7+
- 5.6.4+
- …
CVE-2022-22970:通过将数据绑定到 MultipartFile 或 Servlet Part 导致的 Spring Framework DoS 漏洞
CVE-2022-22971:Spring Framework 通过 STOMP over WebSocket 导致的 DoS 漏洞
CVE-2022-22969:spring-security-oauth2 中的拒绝服务 (DoS) 漏洞
CVE-2022-22968:Spring Framework 数据绑定规则漏洞
CVE-2022-22965:在 JDK 9+ 上通过数据绑定导致的 Spring Framework RCE 漏洞
说明
运行在 JDK 9+ 上的 Spring MVC 或 Spring WebFlux 应用程序可能通过数据绑定容易受到远程代码执行 (RCE) 攻击。特定的漏洞利用需要应用程序以 WAR 部署方式运行在 Tomcat 上。如果应用程序以 Spring Boot 可执行 JAR 部署(即默认方式),则不受此漏洞利用的影响。然而,此漏洞的性质更为普遍,可能存在其他利用方式。
这是利用的先决条件
- JDK 9 或更高版本
- Apache Tomcat 作为 Servlet 容器
- 打包为 WAR
- spring-webmvc 或 spring-webflux 依赖
受影响的 Spring 产品和版本
- Spring Framework
- 5.3.0 到 5.3.17
- 5.2.0 到 5.2.19
- 更早、不受支持的版本也受到影响
缓解措施
受影响版本的用户应采用以下缓解措施:5.3.x 用户应升级到 5.3.18+,5.2.x 用户应升级到 5.2.20+。无需其他步骤。还有其他…
报告漏洞
要报告 Spring 项目组合中的安全漏洞,请参阅安全政策