Static resource cache poisoning in Spring MVC and WebFlux
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 7.0.7, 6.2.18, 6.1.27, 5.3.48
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
Spring MVC and WebFlux applications are vulnerable to cache poisoning when resolving static resources. More precisely, an application can be vulnerable when all the following are true: • the application is using Spring MVC or Spring WebFlux • the application is configuring the resource chain support https://docs.spring.io/spring-framework/reference/web/webmvc/mvc-config/static-resources.html#page-title with caching enabled • the application adds support for encoded resources resolution • the resource cache must be empty when the attacker has access to the application When all the conditions above are met, the attacker can send malicious requests and poison the resource cache with resources using the wrong encoding. This can cause a denial of service by breaking the front-end application for clients.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- VMware Spring Framework
From 7.0.0 · fixed in 7.0.7; From 6.2.0 · fixed in 6.2.18; From 6.1.0 · fixed in 6.1.27; From 5.3.0 · fixed in 5.3.48
- org.springframework:spring-webfluxMaven
From 7.0.0 · fixed in 7.0.7
- org.springframework:spring-webfluxMaven
From 6.2.0 · fixed in 6.2.18
- org.springframework:spring-webfluxMaven
From 6.1.0 · through 6.1.26
- org.springframework:spring-webfluxMaven
through 5.3.47
- org.springframework:spring-webmvcMaven
From 7.0.0 · fixed in 7.0.7
- org.springframework:spring-webmvcMaven
From 6.2.0 · fixed in 6.2.18
- org.springframework:spring-webmvcMaven
From 6.1.0 · through 6.1.26
- org.springframework:spring-webmvcMaven
through 5.3.47