Spring Security 安全公告

CVE-2022-22976:BCrypt 在工作因子为 31 时跳过盐轮数

| 2022年5月17日 | CVE-2022-22976

描述

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 发现并负责任地报告。

参考

历史

  • 2022-05-17:发布初始漏洞报告。

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部