CVE-2018-15756:通过范围请求进行 DoS 攻击

| 2018 年 10 月 16 日 | CVE-2018-15756

描述

Spring Framework 5.1 版,5.0.x 版本(低于 5.0.10),4.3.x 版本(低于 4.3.20)以及 4.2.x 分支上的较旧的不受支持的版本,在使用 ResourceHttpRequestHandler 提供静态资源时,或从 5.0 开始,当带注释的控制器返回一个 org.springframework.core.io.Resource 时,提供对范围请求的支持。恶意用户(或攻击者)可以添加一个具有大量范围或具有重叠的宽范围的范围标头,或者两者兼有,从而发起拒绝服务攻击。

此漏洞影响依赖于 spring-webmvc 或 spring-webflux 的应用程序。 此类应用程序还必须注册以提供静态资源(例如 JS、CSS、图像等),或者具有返回 org.springframework.core.io.Resource 的带注释的控制器。

依赖于 spring-boot-starter-web 或 spring-boot-starter-webflux 的 Spring Boot 应用程序已准备好开箱即用地提供静态资源,因此容易受到攻击。

受影响的 Spring 产品和版本

  • Spring Framework 5.1
  • Spring Framework 5.0.0 到 5.0.9
  • Spring Framework 4.3 到 4.3.19
  • 自 4.2 以来的较旧的不受支持的版本也受到影响

缓解措施

受影响版本的用户应应用以下缓解措施

  • 5.1 用户应升级到 5.1.1
  • 5.0.x 用户应升级到 5.0.10
  • 4.3.x 用户应升级到 4.3.20
  • 4.2.x 用户应升级到受支持的分支。

无需进一步的缓解步骤。

在评估影响时,请注意以下事项

  • 对范围请求的支持是在 4.2 版中引入的。 因此,低于 4.2 的版本不受此问题的影响。
  • 从带注释的控制器返回 org.springfamework.core.io.Resource 的支持是在 5.0 中引入的。 因此,低于 5.0 的版本只能通过注册来提供静态资源而受到影响。

鸣谢

此问题由 Aruba Threat Labs 的 Nicholas Starke 发现并负责任地报告。

历史

2018-10-16:发布了初始漏洞报告。

领先一步

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

了解更多

获得支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部