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:
* the web application uses RouterFunctions to serve static resources
* resource handling is explicitly configured with a FileSystemResource location
However, malicious requests are blocked and rejected when any of the following is true:
* the Spring Security HTTP Firewall https://docs.spring.io/spring-security/reference/servlet/exploits/firewall.html is in use
* the application runs on Tomcat or Jetty
Spring Framework running version 6.0.0 - 6.0.6 or 5.3.0 - 5.3.25 using "**" as a pattern in Spring Security configuration with the mvcRequestMatcher creates a mismatch in pattern matching between Spring Security and Spring MVC, and the potential for a security bypass.
In FasterXML jackson-databind before versions 2.13.4.1 and 2.12.17.1, resource exhaustion can occur because of a lack of a check in primitive value deserializers to avoid deep wrapper array nesting, when the UNWRAP_SINGLE_VALUE_ARRAYS feature is enabled.
Mend Note: For 2.13.4.x, the vulnerability is fixed in 2.13.4.1. A micro-patch was added in 2.13.4.2 to address issues for Gradle users.
Applications that use UriComponentsBuilder to parse an externally provided URL (e.g. through a query parameter) AND perform validation checks on the host of the parsed URL may be vulnerable to a open redirect https://cwe.mitre.org/data/definitions/601.html attack or to a SSRF attack if the URL is used after passing validation checks.
This is the same as CVE-2024-22259 https://spring.io/security/cve-2024-22259 and CVE-2024-22243 https://spring.io/security/cve-2024-22243 , but with different input.
Applications that use UriComponentsBuilder in Spring Framework to parse an externally provided URL (e.g. through a query parameter) AND perform validation checks on the host of the parsed URL may be vulnerable to a open redirect https://cwe.mitre.org/data/definitions/601.html attack or to a SSRF attack if the URL is used after passing validation checks.
This is the same as CVE-2024-22243 https://spring.io/security/cve-2024-22243 , but with different input.
Applications that use UriComponentsBuilder to parse an externally provided URL (e.g. through a query parameter) AND perform validation checks on the host of the parsed URL may be vulnerable to a open redirect https://cwe.mitre.org/data/definitions/601.html attack or to a SSRF attack if the URL is used after passing validation checks.
In FasterXML jackson-databind before 2.13.4, resource exhaustion can occur because of a lack of a check in BeanDeserializer._deserializeFromArray to prevent use of deeply nested arrays. An application is vulnerable only with certain customized choices for deserialization.
### Reachability Analysis
This vulnerability is potentially reachable
```
org.owasp.webgoat.lessons.passwordreset.ResetLinkAssignmentForgotPassword (Application)
-> ❌ org.springframework.http.HttpHeaders (Vulnerable Component)
```
### Vulnerability Details
Applications that parse ETags from "If-Match" or "If-None-Match" request headers are vulnerable to DoS attack.
Users of affected versions should upgrade to the corresponding fixed version.
Users of older, unsupported versions could enforce a size limit on "If-Match" and "If-None-Match" headers, e.g. through a Filter.
Pivotal Spring Framework through 5.3.16 suffers from a potential remote code execution (RCE) issue if used for Java deserialization of untrusted data. Depending on how the library is implemented within a product, this issue may or not occur, and authentication may be required. NOTE: the vendor's position is that untrusted data is not an intended use case. The product's behavior will not be changed because some users rely on deserialization of trusted data.
Mend Note: After conducting further research, Mend has determined that all versions of spring-web up to version 6.0.0 are vulnerable to CVE-2016-1000027.
Vulnerable Library - spring-boot-starter-web-2.7.1.jar
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-web/5.3.21/spring-web-5.3.21.jar
Vulnerabilities
Reachable
Reachable
Reachable
Reachable
Reachable
Reachable
Reachable
Reachable
Unreachable
**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation
Details
CVE-2024-38816
### Vulnerable Library - spring-webmvc-5.3.21.jarSpring Web MVC
Library home page: https://spring.io/projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-webmvc/5.3.21/spring-webmvc-5.3.21.jar
Dependency Hierarchy: - spring-boot-starter-web-2.7.1.jar (Root Library) - :x: **spring-webmvc-5.3.21.jar** (Vulnerable Library)
Found in base branches: main, log4j
### Reachability Analysis This vulnerability is potentially reachable ``` org.owasp.webgoat.container.WebSecurityConfig (Application) -> org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration$1 (Extension) -> org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$OptionalPathExtensionContentNegotiationStrategy (Extension) -> org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration (Extension) ... -> org.springframework.web.servlet.function.support.HandlerFunctionAdapter (Extension) -> org.springframework.web.servlet.function.RouterFunctions (Extension) -> ❌ org.springframework.web.servlet.function.PathResourceLookupFunction (Vulnerable Component) ``` ### Vulnerability DetailsApplications 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: * the web application uses RouterFunctions to serve static resources * resource handling is explicitly configured with a FileSystemResource location However, malicious requests are blocked and rejected when any of the following is true: * the Spring Security HTTP Firewall https://docs.spring.io/spring-security/reference/servlet/exploits/firewall.html is in use * the application runs on Tomcat or Jetty
Publish Date: 2024-09-13
URL: CVE-2024-38816
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.1%
### CVSS 4 Score Details (8.7)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://spring.io/security/cve-2024-38816
Release Date: 2024-09-13
Fix Resolution (org.springframework:spring-webmvc): 6.1.13
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-web): 3.2.10
In order to enable automatic remediation, please create workflow rules
CVE-2023-20860
### Vulnerable Library - spring-webmvc-5.3.21.jarSpring Web MVC
Library home page: https://spring.io/projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-webmvc/5.3.21/spring-webmvc-5.3.21.jar
Dependency Hierarchy: - spring-boot-starter-web-2.7.1.jar (Root Library) - :x: **spring-webmvc-5.3.21.jar** (Vulnerable Library)
Found in base branches: main, log4j
### Reachability Analysis This vulnerability is potentially reachable ``` org.owasp.webgoat.webwolf.WebSecurityConfig (Application) -> org.springframework.security.config.annotation.web.builders.HttpSecurity (Extension) -> org.springframework.web.servlet.handler.HandlerMappingIntrospector (Extension) -> ❌ org.springframework.web.servlet.handler.PathPatternMatchableHandlerMapping (Vulnerable Component) ``` ### Vulnerability DetailsSpring Framework running version 6.0.0 - 6.0.6 or 5.3.0 - 5.3.25 using "**" as a pattern in Spring Security configuration with the mvcRequestMatcher creates a mismatch in pattern matching between Spring Security and Spring MVC, and the potential for a security bypass.
Publish Date: 2023-03-27
URL: CVE-2023-20860
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.1%
### CVSS 4 Score Details (8.7)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://spring.io/blog/2023/03/21/this-week-in-spring-march-21st-2023/
Release Date: 2023-03-27
Fix Resolution (org.springframework:spring-webmvc): 5.3.26
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-web): 2.7.10
In order to enable automatic remediation, please create workflow rules
CVE-2022-42003
### Vulnerable Library - jackson-databind-2.13.3.jarGeneral data-binding functionality for Jackson: works on core streaming API
Library home page: http://fasterxml.com/
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.13.3/jackson-databind-2.13.3.jar
Dependency Hierarchy: - spring-boot-starter-web-2.7.1.jar (Root Library) - spring-boot-starter-json-2.7.1.jar - :x: **jackson-databind-2.13.3.jar** (Vulnerable Library)
Found in base branches: main, log4j
### Reachability Analysis This vulnerability is potentially reachable ``` org.owasp.webgoat.lessons.csrf.CSRFFeedback (Application) -> com.fasterxml.jackson.databind.ObjectMapper (Extension) -> com.fasterxml.jackson.databind.deser.BeanDeserializerFactory (Extension) -> com.fasterxml.jackson.databind.deser.impl.UnsupportedTypeDeserializer (Extension) -> ❌ com.fasterxml.jackson.databind.deser.std.StdDeserializer (Vulnerable Component) ``` ### Vulnerability DetailsIn FasterXML jackson-databind before versions 2.13.4.1 and 2.12.17.1, resource exhaustion can occur because of a lack of a check in primitive value deserializers to avoid deep wrapper array nesting, when the UNWRAP_SINGLE_VALUE_ARRAYS feature is enabled. Mend Note: For 2.13.4.x, the vulnerability is fixed in 2.13.4.1. A micro-patch was added in 2.13.4.2 to address issues for Gradle users.
Publish Date: 2022-10-02
URL: CVE-2022-42003
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.3%
### CVSS 4 Score Details (8.7)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://github.com/advisories/GHSA-jjjh-jjxp-wpff
Release Date: 2022-10-02
Fix Resolution (com.fasterxml.jackson.core:jackson-databind): 2.13.4.1
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-web): 2.7.9
In order to enable automatic remediation, please create workflow rules
CVE-2024-22262
### Vulnerable Library - spring-web-5.3.21.jarSpring Web
Library home page: https://spring.io/projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-web/5.3.21/spring-web-5.3.21.jar
Dependency Hierarchy: - spring-boot-starter-web-2.7.1.jar (Root Library) - spring-boot-starter-json-2.7.1.jar - :x: **spring-web-5.3.21.jar** (Vulnerable Library)
Found in base branches: main, log4j
### Reachability Analysis This vulnerability is potentially reachable ``` org.owasp.webgoat.webwolf.FileServer (Application) -> org.springframework.web.servlet.view.RedirectView (Extension) -> ❌ org.springframework.web.util.UriComponentsBuilder (Vulnerable Component) ``` ### Vulnerability DetailsApplications that use UriComponentsBuilder to parse an externally provided URL (e.g. through a query parameter) AND perform validation checks on the host of the parsed URL may be vulnerable to a open redirect https://cwe.mitre.org/data/definitions/601.html attack or to a SSRF attack if the URL is used after passing validation checks. This is the same as CVE-2024-22259 https://spring.io/security/cve-2024-22259 and CVE-2024-22243 https://spring.io/security/cve-2024-22243 , but with different input.
Publish Date: 2024-04-16
URL: CVE-2024-22262
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.1%
### CVSS 4 Score Details (8.6)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: N/A - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://spring.io/security/cve-2024-22262
Release Date: 2024-04-16
Fix Resolution (org.springframework:spring-web): 5.3.34
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-web): 3.0.0
In order to enable automatic remediation, please create workflow rules
CVE-2024-22259
### Vulnerable Library - spring-web-5.3.21.jarSpring Web
Library home page: https://spring.io/projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-web/5.3.21/spring-web-5.3.21.jar
Dependency Hierarchy: - spring-boot-starter-web-2.7.1.jar (Root Library) - spring-boot-starter-json-2.7.1.jar - :x: **spring-web-5.3.21.jar** (Vulnerable Library)
Found in base branches: main, log4j
### Reachability Analysis This vulnerability is potentially reachable ``` org.owasp.webgoat.webwolf.FileServer (Application) -> org.springframework.web.servlet.view.RedirectView (Extension) -> ❌ org.springframework.web.util.UriComponentsBuilder (Vulnerable Component) ``` ### Vulnerability DetailsApplications that use UriComponentsBuilder in Spring Framework to parse an externally provided URL (e.g. through a query parameter) AND perform validation checks on the host of the parsed URL may be vulnerable to a open redirect https://cwe.mitre.org/data/definitions/601.html attack or to a SSRF attack if the URL is used after passing validation checks. This is the same as CVE-2024-22243 https://spring.io/security/cve-2024-22243 , but with different input.
Publish Date: 2024-03-16
URL: CVE-2024-22259
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.1%
### CVSS 4 Score Details (8.6)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: N/A - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://spring.io/security/cve-2024-22259
Release Date: 2024-03-16
Fix Resolution (org.springframework:spring-web): 5.3.33
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-web): 3.0.0
In order to enable automatic remediation, please create workflow rules
CVE-2024-22243
### Vulnerable Library - spring-web-5.3.21.jarSpring Web
Library home page: https://spring.io/projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-web/5.3.21/spring-web-5.3.21.jar
Dependency Hierarchy: - spring-boot-starter-web-2.7.1.jar (Root Library) - spring-boot-starter-json-2.7.1.jar - :x: **spring-web-5.3.21.jar** (Vulnerable Library)
Found in base branches: main, log4j
### Reachability Analysis This vulnerability is potentially reachable ``` org.owasp.webgoat.webwolf.FileServer (Application) -> org.springframework.web.servlet.view.RedirectView (Extension) -> ❌ org.springframework.web.util.UriComponentsBuilder (Vulnerable Component) ``` ### Vulnerability DetailsApplications that use UriComponentsBuilder to parse an externally provided URL (e.g. through a query parameter) AND perform validation checks on the host of the parsed URL may be vulnerable to a open redirect https://cwe.mitre.org/data/definitions/601.html attack or to a SSRF attack if the URL is used after passing validation checks.
Publish Date: 2024-02-23
URL: CVE-2024-22243
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.1%
### CVSS 4 Score Details (8.6)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: N/A - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://spring.io/security/cve-2024-22243
Release Date: 2024-02-23
Fix Resolution (org.springframework:spring-web): 5.3.32
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-web): 3.0.0
In order to enable automatic remediation, please create workflow rules
CVE-2022-42004
### Vulnerable Library - jackson-databind-2.13.3.jarGeneral data-binding functionality for Jackson: works on core streaming API
Library home page: http://fasterxml.com/
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.13.3/jackson-databind-2.13.3.jar
Dependency Hierarchy: - spring-boot-starter-web-2.7.1.jar (Root Library) - spring-boot-starter-json-2.7.1.jar - :x: **jackson-databind-2.13.3.jar** (Vulnerable Library)
Found in base branches: main, log4j
### Reachability Analysis This vulnerability is potentially reachable ``` org.owasp.webgoat.lessons.csrf.CSRFFeedback (Application) -> com.fasterxml.jackson.databind.ObjectMapper (Extension) -> com.fasterxml.jackson.databind.deser.BeanDeserializerFactory (Extension) -> ❌ com.fasterxml.jackson.databind.deser.BeanDeserializer (Vulnerable Component) ``` ### Vulnerability DetailsIn FasterXML jackson-databind before 2.13.4, resource exhaustion can occur because of a lack of a check in BeanDeserializer._deserializeFromArray to prevent use of deeply nested arrays. An application is vulnerable only with certain customized choices for deserialization.
Publish Date: 2022-10-02
URL: CVE-2022-42004
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.3%
### CVSS 4 Score Details (8.2)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 Scores, click here. ### Suggested FixType: Upgrade version
Release Date: 2022-10-02
Fix Resolution (com.fasterxml.jackson.core:jackson-databind): 2.13.4
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-web): 2.7.4
In order to enable automatic remediation, please create workflow rules
CVE-2024-38809
### Vulnerable Library - spring-web-5.3.21.jarSpring Web
Library home page: https://spring.io/projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-web/5.3.21/spring-web-5.3.21.jar
Dependency Hierarchy: - spring-boot-starter-web-2.7.1.jar (Root Library) - spring-boot-starter-json-2.7.1.jar - :x: **spring-web-5.3.21.jar** (Vulnerable Library)
Found in base branches: main, log4j
### Reachability Analysis This vulnerability is potentially reachable ``` org.owasp.webgoat.lessons.passwordreset.ResetLinkAssignmentForgotPassword (Application) -> ❌ org.springframework.http.HttpHeaders (Vulnerable Component) ``` ### Vulnerability DetailsApplications that parse ETags from "If-Match" or "If-None-Match" request headers are vulnerable to DoS attack. Users of affected versions should upgrade to the corresponding fixed version. Users of older, unsupported versions could enforce a size limit on "If-Match" and "If-None-Match" headers, e.g. through a Filter.
Publish Date: 2024-09-27
URL: CVE-2024-38809
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.0%
### CVSS 4 Score Details (6.9)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://spring.io/security/cve-2024-38809
Release Date: 2024-09-27
Fix Resolution (org.springframework:spring-web): 5.3.38
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-web): 3.0.0
In order to enable automatic remediation, please create workflow rules
CVE-2016-1000027
### Vulnerable Library - spring-web-5.3.21.jarSpring Web
Library home page: https://spring.io/projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-web/5.3.21/spring-web-5.3.21.jar
Dependency Hierarchy: - spring-boot-starter-web-2.7.1.jar (Root Library) - spring-boot-starter-json-2.7.1.jar - :x: **spring-web-5.3.21.jar** (Vulnerable Library)
Found in base branches: main, log4j
### Reachability AnalysisThe vulnerable code is unreachable
### Vulnerability DetailsPivotal Spring Framework through 5.3.16 suffers from a potential remote code execution (RCE) issue if used for Java deserialization of untrusted data. Depending on how the library is implemented within a product, this issue may or not occur, and authentication may be required. NOTE: the vendor's position is that untrusted data is not an intended use case. The product's behavior will not be changed because some users rely on deserialization of trusted data. Mend Note: After conducting further research, Mend has determined that all versions of spring-web up to version 6.0.0 are vulnerable to CVE-2016-1000027.
Publish Date: 2020-01-02
URL: CVE-2016-1000027
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 2.4%
### CVSS 4 Score Details (9.2)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://github.com/advisories/GHSA-4wrc-f8pq-fpqp
Release Date: 2020-01-02
Fix Resolution (org.springframework:spring-web): 6.0.0
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-web): 3.0.0
In order to enable automatic remediation, please create workflow rules
In order to enable automatic remediation for this issue, please create workflow rules