Spring 安全公告
此页面列出了 Spring 安全公告。
CVE-2022-31692:可以通过 Spring Security 中的转发或包含调度程序类型绕过授权规则
CVE-2022-31684:Reactor Netty HTTP 服务器可能会记录请求标头
CVE-2022-31679:Spring Data REST 公开的资源存在潜在的意外数据泄露
CVE-2022-22980:通过带注释的存储库查询方法进行 Spring Data MongoDB SpEL 表达式注入漏洞
CVE-2022-22979:Spring Cloud Function 拒绝服务漏洞
CVE-2022-22976:对于 31 的工作因子,BCrypt 跳过盐轮
描述
Spring Security 5.5.x 版本(低于 5.5.7)、5.6.x 版本(低于 5.6.4)以及更早的无支持版本包含整数溢出漏洞。当使用具有最大工作因子 (31) 的 BCrypt 类时,由于整数溢出错误,编码器不执行任何盐轮。
默认设置不受此 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:通过数据绑定到 MultipartFile 或 Servlet Part 的 Spring Framework 拒绝服务
CVE-2022-22971:通过 WebSocket 的 STOMP 的 Spring Framework 拒绝服务
报告漏洞
如需报告Spring产品组合中某个项目的安全漏洞,请参阅安全策略