CVE-2022-31690:spring-security-oauth2-client 中的权限提升

| 2022 年 10 月 31 日 | CVE-2022-31690

描述

Spring Security 5.7版本(5.7.5之前)和5.6版本(5.6.9之前)以及更旧的不受支持版本在某些条件下可能容易受到权限提升的影响。恶意用户或攻击者可以修改客户端(通过浏览器)向授权服务器发起的请求,这可能导致在随后的批准过程中发生权限提升。如果授权服务器在随后向令牌端点请求访问令牌时,以包含空范围列表的OAuth2访问令牌响应(根据RFC 6749,第5.1节)进行响应,则可能发生这种情况。

此漏洞暴露了满足以下所有要求的应用程序

  • 扮演登录客户端的角色(例如http.oauth2Login()
  • 在客户端应用程序中使用一个或多个授权规则,其中权限从授权范围映射(例如anyRequest().hasAuthority("SCOPE_message.write")
  • 注册一个以空范围列表响应的授权服务器(根据RFC 6749,第5.1节)

此漏洞**不会**暴露以下应用程序

  • 仅扮演资源服务器的角色(例如http.oauth2ResourceServer()
  • 在客户端应用程序中使用授权规则,其中权限未从授权范围映射(例如anyRequest().hasAuthority("ROLE_USER")

受影响的 Spring 产品和版本

  • Spring Security
    • 5.7 至 5.7.4
    • 5.6 至 5.6.8
    • 较旧的、不受支持的版本也受到影响

缓解措施

受影响版本的用户应采取以下缓解措施:Spring Security 5.7 升级到 5.7.5,Spring Security 5.6 升级到 5.6.9。更旧的版本应升级到受支持的分支。无需其他缓解措施。已修复此问题的版本包括

  • Spring Security
    • 5.7.5
    • 5.6.9

致谢

此问题由 Apache Software Foundation 的 Tobias Soloschenko (@klopfdreh) 发现并负责任地报告。

参考资料

历史

  • 2022-10-31: 初始漏洞报告发布。

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有