Spring Security isFullyAuthenticated方法验证不当漏洞
漏洞描述
Spring Security 是基于Spring应用程序的认证和访问控制框架,AuthenticationTrustResolver.isFullyAuthenticated 方法用于判断当前用户的认证状态是否为完全认证(fully authenticated)。
受影响版本中,当应用程序直接使用AuthenticationTrustResolver.isFullyAuthenticated(Authentication),并传入null作为认证参数时会错误地返回true值,攻击者可利用该漏洞绕过身份验证,进行提权或窃取系统敏感信息。
| 漏洞名称 | Spring Security isFullyAuthenticated方法验证不当漏洞 |
|---|---|
| 漏洞类型 | 访问控制不当 |
| 发现时间 | 2024-02-19 |
| 漏洞影响广度 | 一般 |
| MPS编号 | MPS-nwpz-uj03 |
| CVE编号 | CVE-2024-22234 |
| CNVD编号 | - |
影响范围
org.springframework.security:spring-security-core@[6.1.0, 6.1.7)
org.springframework.security:spring-security-core@[6.2.0, 6.2.2)
org.springframework.security:spring-security-cas@[6.1.0, 6.1.7)
org.springframework.security:spring-security-cas@[6.2.0, 6.2.2)
org.springframework.security:spring-security-web@[6.1.0, 6.1.7)
org.springframework.security:spring-security-web@[6.1.7, 6.2.2)
org.springframework.security:spring-security-oauth2-client@[6.1.0, 6.1.7)
org.springframework.security:spring-security-oauth2-client@[6.2.0, 6.2.2)
修复方案
升级org.springframework.security:spring-security-core到6.1.7、6.2.2或更高版本
升级org.springframework.security:spring-security-cas到6.1.7、6.2.2或更高版本
开发者避免将null作为参数传递给AuthenticationTrustResolver.isFullyAuthenticated(Authentication)方法
升级org.springframework.security:spring-security-web到6.1.7、6.2.2或更高版本
升级org.springframework.security:spring-security-oauth2-client到6.1.7、6.2.2或更高版本
参考链接
https://www.oscs1024.com/hd/MPS-nwpz-uj03
https://github.com/spring-projects/spring-security/commit/750cb30ce44d279c2f54c845d375e6a58bded569
https://spring.io/security/cve-2024-22234
https://nvd.nist.gov/vuln/detail/CVE-2024-22234
免费情报订阅&代码安全检测
OSCS是国内首个开源软件供应链安全社区,社区联合开发者帮助全球顶级开源项目解决安全问题,并提供实时的安全漏洞情报,同时提供专业的代码安全检测工具为开发者免费使用。社区开发者可以通过配置飞书、钉钉、企业微信机器人获取一手的情报。
免费代码安全检测工具: https://www.murphysec.com/?src=osc
免费情报订阅: https://www.oscs1024.com/cm/?src=osc
具体订阅方式详见: https://www.oscs1024.com/docs/vuln-warning/intro/?src=osc
