Check the status of CVEs. Learn More.
php2shell patches (CVE-2026-109618 and CVE-2026-109619) for EOL PHP are out now. With sales replies slower than usual due to high demand, the fastest route to patched packages is to buy ELS for Runtimes online (opens in new tab). | Read the patch FAQ
This CVE has been resolved by the TuxCare team and
a patch has been delivered to ELS for Spring® users.
Spring® Framework is a comprehensive, open-source framework for building Java applications. It provides dependency injection (DI), aspect-oriented programming (AOP), and transaction management, making Java development more modular and efficient.
Spring® Web is a module of Spring® Framework designed for building web applications and RESTful services in Java. It provides essential web functionalities, including servlet-based request handling, REST API support, and integration with Spring® Web MVC which is a module within the Spring® Framework that provides a powerful Model-View-Controller (MVC) architecture for building web applications. Spring® WebFlux is a reactive, non-blocking web framework introduced in Spring® 5. It is designed for handling asynchronous and event-driven web applications using Project Reactor (reactive streams).
Improper Limitation of a Pathname to a Restricted Directory (‘Path Traversal’) takes place when the product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
CVE-2024-38816, a high-severity Path Traversal vulnerability, affects applications that use the WebMvc.fn or WebFlux.fn functional web frameworks to serve static resources. Attackers can exploit this vulnerability by crafting malicious HTTP requests that allow them to retrieve any file on the file system that the Spring® application process can access.
This issue affects multiple versions of:
org.springframework:spring-webflux package,
org.springframework:spring-webmvc package.
| Vulnerability Dossier | |
| CVE ID | CVE-2024-38816 |
| Severity | High: 7.5 |
| CWE-ID and name | CWE-22: Improper Limitation of a Pathname to a Restricted Directory (‘Path Traversal’) |
| Affected project | Spring® Framework |
| Affected packages | spring-webflux
spring-webmvc |
| Affected versions | All prior 5.3.0, <5.3.0;5.3.39>,<6.0.0;6.0.23>,<6.1.0;6.1.12> |
| NVD Published date | 13th of September 2024 (Spring.io: 12th of September 2024) |
| TuxCare fix date | 26th of September 2024 |
| TuxCare fixed version | 5.3.39.tuxcare.1 |
https://mvnrepository.com/artifact/org.springframework/spring-webflux
https://mvnrepository.com/artifact/org.springframework/spring-webmvc
Applications serving static resources through the functional web frameworks WebMvc.fn or WebFlux.fn are vulnerable to path traversal attacks. An attacker can craft malicious HTTP requests and obtain any file on the file system that is also accessible to the process in which the Spring® application is running.
Specifically, an application is vulnerable when both of the following are true:
However, malicious requests are blocked and rejected when any of the following is true:
In apps using RouterFunctions and serving files from the filesystem (e.g., with FileSystemResource), attackers can request paths like:
/public/../../../../etc/passwd
…to read sensitive files.
Affects both Spring® WebFlux.fn and Spring® WebMvc.fn applications, making it relevant across different web stacks.
If you configure your Spring® WebFlux or WebMvc.fn app to serve files from the local filesystem (e.g. /var/www/files) using RouterFunctions, an attacker can craft URLs like:
/files/../../../etc/passwd
…to access arbitrary files outside the allowed directory.
Serve static files using FileSystemResource with no extra security constraints.
Use Spring® Boot 2.7.17 (which includes Spring® Framework 5.3.39 – vulnerable)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<version>2.7.17</version>
</dependency>
/static-files/
└── hello.txt
@Configuration
public class StaticResourceRouter {
@Bean
public RouterFunction<ServerResponse> staticFiles() {
return RouterFunctions
.resources(“/files/**”, new FileSystemResource(“/absolute/path/to/static-files”));
}
}
GET http://localhost:8080/files/hello.txt
✅ Responds with the file.
GET http://localhost:8080/files/../../../etc/passwd
or URL-encoded:
GET http://localhost:8080/files/..%2F..%2F..%2Fetc%2Fpasswd
Returns content of /etc/passwd (or other accessible files outside /static-files).
Spring® Framework 5.3.x is no longer supported by the open source community, as its End of Life date is 2023-06-30. It simply means that the version from that date does not receive any updates to address this issue.
Users of the affected components should apply one of the following mitigations:
Do you need a fix for this vulnerability for any other Spring® Framework version? Please contact us, we are here to help you!