Spring MVC and WebFlux applications are vulnerable to cache poisoning when resolving static resources.

Description

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.

Basic information

Type
reviewed
Severity
low
Advisory on GitHub
Open advisory ↗
Repository advisory
Source code
Browse source ↗
Published (advisory)
2026-04-29 12:33:07 UTC
Updated
2026-07-02 21:24:01 UTC
GitHub reviewed
2026-05-06 22:28:11 UTC
NVD published
2026-04-29

EPSS Score

Score Percentile
0.24% 14.49%

CVSS Scores

Base score Version Severity Vector
3.1 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:H)
Even with access, the exploit needs extra luck, timing, or a fussy environment to actually work.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:R)
A real person has to do something—click, install, enable—otherwise it doesn’t land.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:N)
Doesn’t really leak secrets in a meaningful way.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:L)
Might cause slowdowns, glitches, or partial disruption—not a full brick.

Identifiers

CWEs

CWE id Name
CWE-524 Use of Cache Containing Sensitive Information

Credits

  • yuki-matsuhashi (analyst)

Affected packages (8)

Vulnerable version ranges and first patched releases as published by GitHub.

Ecosystem Package Vulnerable range First patched Vulnerable functions
maven org.springframework:spring-webflux >= 7.0.0, <= 7.0.6 7.0.7
maven org.springframework:spring-webflux >= 6.2.0, <= 6.2.17 6.2.18
maven org.springframework:spring-webflux >= 6.1.0, <= 6.1.26
maven org.springframework:spring-webflux <= 5.3.47
maven org.springframework:spring-webmvc >= 7.0.0, <= 7.0.6 7.0.7
maven org.springframework:spring-webmvc >= 6.2.0, <= 6.2.17 6.2.18
maven org.springframework:spring-webmvc >= 6.1.0, <= 6.1.26
maven org.springframework:spring-webmvc <= 5.3.47

References

cvelogic Threat Intelligence