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 社区中所有即将举行的活动。

查看全部