CVE-2021-22047: 定制化 Spring Data REST 资源可能存在安全绕过

中等 | 2021 年 10 月 26 日 | CVE-2021-22047

描述

在 Spring Data REST 的 3.4.0 - 3.4.13、3.5.0 - 3.5.5 版本以及不受支持的旧版本中,由自定义控制器实现的 HTTP 资源使用配置的基本 API 路径和控制器类型级别请求映射,还会额外暴露在可能根据 Spring Security 配置进行未经授权访问的 URI 下。此漏洞仅适用于同时满足以下所有条件的项目:

  • 项目使用了上述受漏洞影响的 Spring Data REST 版本之一。
  • Spring Data REST 基本路径配置设置为非空字符串。
  • 项目注册了一个自定义的 Spring MVC 控制器,用于在 Spring Data REST 的 URI 空间中定制 HTTP 资源,并且该控制器使用了类型级别的 @RequestMapping 注解;项目仅保护了 Spring Data REST 在基本路径内暴露的路径,但未对与没有配置基本路径作为前缀的映射匹配的 URI 应用安全措施。

受影响的 Spring 产品和版本

  • Spring Data REST
    • 3.4.0 到 3.4.13
    • 3.5.0 到 3.5.5
    • 较旧的、不受支持的版本也受到影响

缓解措施

受影响版本的用户应升级到以下版本之一。无需其他步骤。

  • Spring Data REST
    • 3.4.14+ (包含在 Spring Boot 2.4.12+ 中)
    • 3.5.6+ (包含在 Spring Boot 2.5.6+ 中)

致谢

此漏洞最初由 Brian Schrader 发现并负责任地报告。

参考资料

历史

  • 2021-10-26: 最初的漏洞报告已发布。

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有