Spring Security CVE-2025-22234 引入用户名枚举向量

admin 2025年5月4日03:06:20评论2 views字数 1437阅读4分47秒阅读模式
Spring Security CVE-2025-22234 引入用户名枚举向量

产品: Spring Security

受影响的软件包: spring-security-crypto

受影响的版本: =5.7.16、=5.8.18、=6.0.16、=6.1.14、=6.2.10、=6.3.8、=6.4.4

GitHub 仓库: https://spring.io/projects/spring-security

已发布的软件包 : https://central.sonatype.com/artifact/org.springframework.security/spring-security-crypto

软件包管理器: Maven

已修复: NES for Spring Security v5.7.18 和 v5.8.21

Spring Security CVE-2025-22234 引入用户名枚举向量

Spring Security 是一个全面的 Java 安全框架,用于保护企业级应用程序的安全。它提供了强大而灵活的编程模型,让您能够轻松管理身份验证、授权和其他安全问题,从而简化安全应用程序的开发。Spring Security 与 Spring 框架无缝集成,提供强大的工具来配置访问控制、管理用户角色和保护资源,同时允许 Java 作为您应用程序开发的主要语言。

Spring Security 的 spring-security-crypto 中发现了一个信息泄露漏洞 ( CVE-2025-22234 ),该漏洞破坏了时序攻击缓解措施。

攻击者可以利用登录响应时间来判断哪些用户名有效。有效的用户名通常会因为密码检查而导致更长的响应时间,而无效的用户名由于不执行密码检查而返回更快。Spring Security 通过始终执行密码检查(无论用户是否存在于系统中)来缓解此问题。

此问题影响 Spring Security 的 spring-security-crypto 包的多个版本。

漏洞信息

Spring 团队最近修补了 CVE-2025-22228 漏洞,该漏洞解决了 spring-security-crypto 中的一个问题。然而,此修复破坏了 DaoAuthenticationProvider 中实现的计时攻击缓解机制。如果密码编码器设置为 BCrypt,并且请求中使用的密码长度超过 72 个字符,则编码器的行为会发生改变——它会抛出异常。此更改可能会被利用来泄露有关服务的信息,例如正在使用的密码编码器或测量用户查找时间。

重现步骤

1.设置易受攻击的 Spring Security 版本

  • 配置身份验证以使用 DaoAuthenticationProvider 和 BCryptPasswordEncoder 。

2.验证时间一致性,密码长度为 <72

  • 验证无效用户名是否会导致 BadCredentialsException 异常,并将响应时间与有效用户名和错误密码的响应时间进行比较。两种情况的响应时间应该大致相同,从而证明该方法能够有效缓解时序攻击。

3.使用长度为 >72 的长密码进行测试

  • 尝试使用超过 72 个字符的密码对有效用户进行身份验证。请注意,在存在漏洞的版本中,由于 BCrypt 处理长密码的方式不同,这会触发不同的异常或行为。

4.更新至 Spring Security 的修补版本

  • 将您的 Spring Security 依赖项升级到包含此 CVE 修复的版本。

5.使用长密码重新测试

  • 使用长度超过 72 个字符的密码重复测试。请注意,现在的行为与步骤 2 的行为一致,异常处理和响应时间也保持一致,这证明补丁程序已恢复对计时攻击的适当缓解措施。

原文始发于微信公众号(Ots安全):Spring Security CVE-2025-22234 引入用户名枚举向量

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月4日03:06:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Spring Security CVE-2025-22234 引入用户名枚举向量http://cn-sec.com/archives/4026996.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息