此页面列出了 Spring 安全咨询。
CVE-2022-31679: Spring Data REST 暴露的资源可能存在意外数据泄露
CVE-2022-22980: Spring Data MongoDB 通过注解存储库查询方法存在的 SpEL 表达式注入漏洞
CVE-2022-22979: Spring Cloud Function Dos 漏洞
CVE-2022-22976: BCrypt 在工作因子为 31 时跳过盐轮次
描述
Spring Security 版本 5.5.x(5.5.7 之前)、5.6.x(5.6.4 之前)以及更早的不受支持版本包含一个整数溢出漏洞。当使用 BCrypt 类并设置最大工作因子 (31) 时,编码器不会执行任何盐轮次,原因是整数溢出错误。
默认设置不受此 CVE 影响。
只有在将 BCryptPasswordEncoder 配置为最大工作因子的情形下才会受到影响。由于当前计算机硬件的限制,使用如此高的工作因子在计算上不切实际。
您需要使用工作因子为 31 的 BCrypt 才能受到影响。您可以使用以下缓解工具检查您的密码是否受到影响。
受影响的 Spring 产品和版本
- Spring Security
- 5.5.x 5.5.7 之前
- 5.6.x 5.6.4 之前
- 更早的不受支持版本
缓解措施
在更新到最新版本之前,请更新您的 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.x 5.4.11 之前
- 5.5.x 5.5.7 之前
- 5.6.x 5.6.4 之前
- 更早的不受支持版本
缓解措施
用户应更新到包含修复的版本。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: Spring Framework 通过将数据绑定到 MultipartFile 或 Servlet Part 导致 DoS
CVE-2022-22971: Spring Framework 通过 STOMP over WebSocket 导致 DoS
CVE-2022-22969: spring-security-oauth2 中的拒绝服务 (DoS) 漏洞
CVE-2022-22968: Spring Framework 数据绑定规则漏洞
报告漏洞
要报告 Spring 组合项目中存在的安全漏洞,请参阅安全策略