VYPR
High severityNVD Advisory· Published Oct 18, 2018· Updated Sep 16, 2024

DoS Attack via Range Requests

CVE-2018-15756

Description

Spring Framework, version 5.1, versions 5.0.x prior to 5.0.10, versions 4.3.x prior to 4.3.20, and older unsupported versions on the 4.2.x branch provide support for range requests when serving static resources through the ResourceHttpRequestHandler, or starting in 5.0 when an annotated controller returns an org.springframework.core.io.Resource. A malicious user (or attacker) can add a range header with a high number of ranges, or with wide ranges that overlap, or both, for a denial of service attack. This vulnerability affects applications that depend on either spring-webmvc or spring-webflux. Such applications must also have a registration for serving static resources (e.g. JS, CSS, images, and others), or have an annotated controller that returns an org.springframework.core.io.Resource. Spring Boot applications that depend on spring-boot-starter-web or spring-boot-starter-webflux are ready to serve static resources out of the box and are therefore vulnerable.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Spring Framework versions prior to 5.0.10, 4.3.20, and older 4.2.x generate excessive memory consumption during crafted HTTP range requests on static resources, leading to denial of service.

Vulnerability

The vulnerability resides in the ResourceHttpRequestHandler used to serve static resources and, starting in Spring Framework 5.0, in annotated controller methods that return an org.springframework.core.io.Resource. When handling HTTP range requests, the implementation does not limit the number of ranges or validate range overlap. A malicious actor can send a single request with an HTTP Range header containing a high number of ranges, or very wide overlapping ranges, triggering excessive resource consumption. Affected versions are Spring Framework 5.1, 5.0.x prior to 5.0.10, 4.3.x prior to 4.3.20, and older unsupported 4.2.x branches. Applications are vulnerable if they use spring-webmvc or spring-webflux and either register static resource handling (e.g., JS, CSS, images) or have an annotated controller returning a Resource. Spring Boot applications using spring-boot-starter-web or spring-boot-starter-webflux are vulnerable by default because they serve static resources out of the box [1].

Exploitation

The attacker requires only network access to the application and the ability to send HTTP requests to an endpoint that returns a static resource or a Resource object. No authentication is required if the resource endpoint is public. The attacker crafts an HTTP request with a Range header containing many byte-range sets, wide overlapping ranges, or both. The server processes these ranges, allocating memory to satisfy each sub-range, leading to rapid memory exhaustion. Tools like curl or any HTTP client can be used to send the malicious request [1][2].

Impact

Successful exploitation causes a denial of service (DoS) by exhausting server memory or CPU, potentially rendering the application unresponsive. The attack does not lead to information disclosure or remote code execution; the primary outcome is temporary unavailability of the service. The impact is limited to systems that satisfy the prerequisite configuration (static resource serving or Resource-returning controllers) [1].

Mitigation

The Spring team released fixes in versions 5.0.10 and 4.3.20 on October 10, 2018, and version 5.1.1 on November 16, 2018. Users should upgrade to the fixed versions immediately. Applications on unsupported 4.2.x branches must upgrade to a supported branch with the fix. No workaround is provided in the references for unpatched versions; blocking Range headers at the proxy or web server layer may reduce exposure but is not an official mitigation. The vulnerability is not listed in CISA's Known Exploited Vulnerabilities (KEV) catalog as of the publication date [1]

AI Insight generated on May 22, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
org.springframework:spring-coreMaven
>= 5.1.0.RELEASE, < 5.1.1.RELEASE5.1.1.RELEASE
org.springframework:spring-coreMaven
>= 5.0.0.RELEASE, < 5.0.10.RELEASE5.0.10.RELEASE
org.springframework:spring-coreMaven
>= 4.2.0.RELEASE, < 4.3.20.RELEASE4.3.20.RELEASE

Affected products

2

Patches

2
810fd123d5fd

Release version 4.3.20.RELEASE

https://github.com/spring-projects/spring-frameworkSpring BuildmasterOct 15, 2018via osv
1 file changed · +1 1
  • gradle.properties+1 1 modified
    @@ -1 +1 @@
    -version=4.3.20.BUILD-SNAPSHOT
    +version=4.3.20.RELEASE
    
35d1a8b6b2af

Release version 5.0.10.RELEASE

https://github.com/spring-projects/spring-frameworkSpring BuildmasterOct 15, 2018via osv
1 file changed · +1 1
  • gradle.properties+1 1 modified
    @@ -1 +1 @@
    -version=5.0.10.BUILD-SNAPSHOT
    +version=5.0.10.RELEASE
    

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

32

News mentions

0

No linked articles in our index yet.