Spring Security 大小写敏感校验鉴权绕过风险
12-16 09:06 来源:oschina 阅读(190)

漏洞描述

Spring Security 是开源的身份验证和访问控制框架。


由于 java 语言中 String.toLowerCase ()、String.toUpperCase () 方法与语言地区 (Locale) 相关,在 Spring Security 受影响版本中调用该方法进行鉴权判断时未指定 Locale 参数。导致在特定地区的系统环境中(如土耳其语),Spring Security 中的大小写字母转换将出现不一致,可能导致鉴权规则被绕过。


在新版本中 Spring Security 通过指定转换时的 locale 参数避免不一致问题。

影响范围

org.springframework.security.oauth:spring-security-oauth2@[1.0.0.RELEASE, 2.5.2.RELEASE]


org.springframework.security:spring-security-web@[6.3.0, 6.3.5)


org.springframework.security:spring-security-web@(-∞, 6.2.8)


org.springframework.security:spring-security-core@(-∞, 6.2.8)


org.springframework.security:spring-security-cas@[6.3.0, 6.3.5)


org.springframework.security:spring-security-core@[6.3.0, 6.3.5)


org.springframework.security:spring-security-cas@(-∞, 6.2.8)


org.springframework.security:spring-security-config@[6.3.0, 6.3.5)


org.springframework.security:spring-security-oauth2-client@[6.3.0, 6.3.5)


org.springframework.security:spring-security-config@(-∞, 6.2.8)


org.springframework.security:spring-security-ldap@(-∞, 6.2.8)


org.springframework.security:spring-security-crypto@[6.3.0, 6.3.5)


org.springframework.security:spring-security-crypto@(-∞, 6.2.8)


org.springframework.security:spring-security-ldap@[6.3.0, 6.3.5)


org.springframework.security:spring-security-oauth2-client@(-∞, 6.2.8)


org.springframework.security:spring-security-taglibs@[6.3.0, 6.3.5)


org.springframework.security:spring-security-taglibs@(-∞, 6.2.8)


修复方案

将组件 org.springframework.security:spring-security-crypto 升级至 6.3.5 及以上版本


将组件 org.springframework.security:spring-security-crypto 升级至 6.2.8 及以上版本


将组件 org.springframework.security:spring-security-web 升级至 6.3.5 及以上版本


将组件 org.springframework.security:spring-security-web 升级至 6.2.8 及以上版本


将组件 org.springframework.security:spring-security-core 升级至 6.2.8 及以上版本


将组件 org.springframework.security:spring-security-cas 升级至 6.3.5 及以上版本


将组件 org.springframework.security:spring-security-taglibs 升级至 6.2.8 及以上版本


将组件 org.springframework.security:spring-security-oauth2-client 升级至 6.2.8 及以上版本


将组件 org.springframework.security:spring-security-taglibs 升级至 6.3.5 及以上版本


将组件 org.springframework.security:spring-security-config 升级至 6.3.5 及以上版本


将组件 org.springframework.security:spring-security-config 升级至 6.2.8 及以上版本


将组件 org.springframework.security:spring-security-ldap 升级至 6.3.5 及以上版本


将组件 org.springframework.security:spring-security-ldap 升级至 6.2.8 及以上版本


将组件 org.springframework.security:spring-security-core 升级至 6.3.5 及以上版本


将组件 org.springframework.security:spring-security-cas 升级至 6.2.8 及以上版本


将组件 org.springframework.security:spring-security-oauth2-client 升级至 6.3.5 及以上版本