安全通告
近日,奇安信CERT监测到Spring官方发布Spring Security 身份认证绕过漏洞(CVE-2022-31692)通告,当Spring Security处理forward或include转发的请求时,可能存在漏洞,攻击者可利用此漏洞绕过授权规则。鉴于此漏洞影响范围较大,建议客户尽快做好自查及防护。
漏洞名称 | Spring Security 身份认证绕过漏洞 | ||
公开时间 | 2022-11-01 | 更新时间 | 2022-11-02 |
CVE编号 | CVE-2022-31692 | 其他编号 | QVD-2022-43220 |
威胁类型 | 身份认证绕过 | 技术类型 | 授权不当 |
厂商 | Spring | 产品 | Spring Security |
风险等级 | |||
奇安信CERT风险评级 | 风险等级 | ||
高危 | 蓝色(一般事件) | ||
现时威胁状态 | |||
POC状态 | EXP状态 | 在野利用状态 | 技术细节状态 |
未发现 | 未发现 | 未发现 | 未公开 |
漏洞描述 | 当Spring Security处理forward或include转发的请求时,可能存在漏洞,攻击者可利用此漏洞绕过授权规则。 | ||
影响版本 | 5.6.0 <= Spring Security <= 5.6.8 5.7.0 <= Spring Security <= 5.7.4 | ||
其他受影响组件 | 无 | ||
漏洞名称 | Spring Security 身份认证绕过漏洞 | |||
CVE编号 | CVE-2022-31692 | 其他编号 | QVD-2022-43220 | |
CVSS 3.1评级 | 高危 | CVSS 3.1分数 | 7.4 | |
CVSS向量 | 访问途径(AV) | 攻击复杂度(AC) | ||
网络 | 高 | |||
所需权限(PR) | 用户交互(UI) | |||
无 | 不需要 | |||
影响范围(S) | 机密性影响(C) | |||
不改变 | 高 | |||
完整性影响(I) | 可用性影响(A) | |||
高 | 无 | |||
危害描述 | 当以下条件均满足时则可能存在漏洞,攻击者可利用此漏洞绕过授权规则: 1、应用程序期望应用Spring Security来处理forward或include调度类型请求 2、应用程序通过authorizeHttpRequests()方法应用AuthorizationFilter 3、应用程序配置FilterChainProxy以处理forward或include请求,例如:spring.security.filter.dispatcher-types = request, error, async, forward, include 4、应用程序将请求forward或include到更高权限保护的端点 5、应用程序通过authorizeHttpRequests().shouldFilterAllDispatcherTypes(true)将Spring Security应用于每种调度类型 | |||
1、版本升级
目前官方已有可更新版本,建议用户升级至:
2、缓解方案
无法升级的用户建议配置authorizeRequests().filterSecurityInterceptorOncePerRequest(false) 代替 authorizeHttpRequests().shouldFilterAllDispatcherTypes(true)
Spring Security < 5.7.0版本shouldFilterAllDispatcherTypes不可用,可通过添加ObjectPostProcessor缓解此漏洞:
authorizeHttpRequests().withObjectPostProcessor(newObjectPostProcessor<AuthorizationFilter>() {@Overridepublic<O extends AuthorizationFilter> O postProcess(O filter) {filter.setObserveOncePerRequest(false);filter.setFilterAsyncDispatch(true);filter.setFilterErrorDispatch(true);return filter;}});
[1]https://tanzu.vmware.com/security/cve-2022-31692
2022年11月2日,奇安信 CERT发布安全风险通告。