关于Spring Security调度器类型授权绕过漏洞的通报

admin 2022-12-13 03:44:44 CNNVD预警 来源:ZONE.CI 全球网 0 阅读模式

产品描述:
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。

影响产品或组件及版本:
5.7 <= Spring Security <= 5.7.4
5.6 <= Spring Security <= 5.6.8
Spring Security 更早的不受支持的版本

受影响资产情况:
该产品为Spring中认证相关的组件,无法通过资产测绘系统搜索相关资产。

技术细节表述:
Spring Security,5.7.5之前的5.7版本和5.6.9之前的5.6版本可能容易受到通过转发或包含调度程序类型绕过授权规则的影响。
具体来说,当满足以下所有条件时,应用程序很容易受到攻击:
应用程序期望 Spring Security 应用安全性来转发和包含调度程序类型。
应用程序使用AuthorizationFilter手动或通过authorizeHttpRequests()方法。
应用程序将其配置FilterChainProxy为适用于转发和/或包含请求(例如spring.security.filter.dispatcher-types = request, error, async, forward, include)。
应用程序可以将请求转发或包含到更高特权保护的端点。
应用程序将 Spring Security 配置为通过以下方式应用于每个调度程序类型authorizeHttpRequests().shouldFilterAllDispatcherTypes(true)
如果以下任何一项为真,则应用程序不会受到攻击:
该应用程序不使用authorizeHttpRequests()或AuthorizationFilter.
该应用程序不转发/包含请求。
应用程序不需要配置 Spring Security 以应用于 FORWARD 和 INCLUDE 调度程序类型。

修补措施:
正式修复建议
厂商已发布了漏洞修复程序,受影响版本的用户请尽快更新至以下版本:
5.7.x 用户应升级到 5.7.5
5.6.x 用户应升级到 5.6.9
最新版官方下载链接:
https://github.com/spring-projects/spring-security/releases/tag/5.7.5
https://github.com/spring-projects/spring-security/releases/tag/5.6.9
临时修复建议
1.对于无法更改版本的用户,应使用authorizeRequests().filterSecurityInterceptorOncePerRequest(false)而不是authorizeHttpRequests().shouldFilterAllDispatcherTypes(true)
2.版本 < 5.7.0 且没有shouldFilterAllDispatcherTypes可用的用户,应添加ObjectPostProcessor:

```
authorizeHttpRequests().withObjectPostProcessor(new
ObjectPostProcessor() {
@Override
public O postProcess(O filter) {
filter.setObserveOncePerRequest(false);
filter.setFilterAsyncDispatch(true);
filter.setFilterErrorDispatch(true);
return filter;
}});

```

​ 3.请注意,在 Spring Security 5 中,默认行为是不对请求多次应用过滤器,因此您必须显式配置 Spring Security 才能做到这一点。此外,FilterChainProxy 也未配置为在转发时调用并包含调度程序类型



漏洞来源:
​ https://vip.riskivy.com/detail/1587206110740353024

注:该漏洞已有CVE漏洞编号,暂无CNNVD漏洞编号

weinxin
特别声明
本站(ZONE.CI)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
评论:0   参与:  0