Both Spring Security 3.2.x, 4.0.x, 4.1.0 and the Spring Framework 3.2.x, 4.0.x, 4.1.x, 4.2.x rely on URL pattern mappings for authorization and for mapping requests to controllers respectively. Differences in the strictness of the pattern matching mechanisms, for example with regards to space trimming in path segments, can lead Spring Security to not recognize certain paths as not protected that are in fact mapped to Spring MVC controllers that should be protected. The problem is compounded by the fact that the Spring Framework provides richer features with regards to pattern matching as well as by the fact that pattern matching in each Spring Security and the Spring Framework can easily be customized creating additional differences.
Spring Framework, versions 5.0 prior to 5.0.5 and versions 4.3 prior to 4.3.15 and older unsupported versions, allow applications to configure Spring MVC to serve static resources (e.g. CSS, JS, images). When static resources are served from a file system on Windows (as opposed to the classpath, or the ServletContext), a malicious user can send a request using a specially crafted URL that can lead a directory traversal attack.
Under some situations, the Spring Framework 4.2.0 to 4.2.1, 4.0.0 to 4.1.7, 3.2.0 to 3.2.14 and older unsupported versions is vulnerable to a Reflected File Download (RFD) attack. The attack involves a malicious user crafting a URL with a batch script extension that results in the response being downloaded rather than rendered and also includes some input reflected in the response.
An issue was discovered in Pivotal Spring Framework before 3.2.18, 4.2.x before 4.2.9, and 4.3.x before 4.3.5. Paths provided to the ResourceServlet were not properly sanitized and as a result exposed to directory traversal attacks.
Vulnerable Library - spring-webmvc-4.2.1.RELEASE.jar
Spring Web MVC
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /Users/alexmaybaum/.m2/repository/org/springframework/spring-webmvc/4.2.1.RELEASE/spring-webmvc-4.2.1.RELEASE.jar
Found in HEAD commit: 66f6cec7b61b92e8af1c753e55af1f6e28648f07
Vulnerabilities
Reachable
Reachable
Unreachable
Unreachable
**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation
Details
CVE-2016-5007
### Vulnerable Library - spring-webmvc-4.2.1.RELEASE.jarSpring Web MVC
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /Users/alexmaybaum/.m2/repository/org/springframework/spring-webmvc/4.2.1.RELEASE/spring-webmvc-4.2.1.RELEASE.jar
Dependency Hierarchy: - :x: **spring-webmvc-4.2.1.RELEASE.jar** (Vulnerable Library)
Found in HEAD commit: 66f6cec7b61b92e8af1c753e55af1f6e28648f07
Found in base branch: vp-rem
### Reachability Analysis This vulnerability is potentially reachable ``` com.visualpathit.account.validator.UserValidator (Application) -> org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport$NoOpValidator (Extension) -> org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport (Extension) -> ❌ org.springframework.web.servlet.handler.AbstractHandlerMapping (Vulnerable Component) ``` ### Vulnerability DetailsBoth Spring Security 3.2.x, 4.0.x, 4.1.0 and the Spring Framework 3.2.x, 4.0.x, 4.1.x, 4.2.x rely on URL pattern mappings for authorization and for mapping requests to controllers respectively. Differences in the strictness of the pattern matching mechanisms, for example with regards to space trimming in path segments, can lead Spring Security to not recognize certain paths as not protected that are in fact mapped to Spring MVC controllers that should be protected. The problem is compounded by the fact that the Spring Framework provides richer features with regards to pattern matching as well as by the fact that pattern matching in each Spring Security and the Spring Framework can easily be customized creating additional differences.
Publish Date: 2017-05-25
URL: CVE-2016-5007
### CVSS 3 Score Details (7.5)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: None - Integrity Impact: High - Availability Impact: None
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://pivotal.io/security/cve-2016-5007
Release Date: 2017-05-25
Fix Resolution: org.springframework:spring-webmvc:4.3.0.RELEASE,org.springframework.security:spring-security-web:4.1.1.RELEASE,org.springframework.security:spring-security-config:4.1.1.RELEASE
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.CVE-2018-1271
### Vulnerable Library - spring-webmvc-4.2.1.RELEASE.jarSpring Web MVC
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /Users/alexmaybaum/.m2/repository/org/springframework/spring-webmvc/4.2.1.RELEASE/spring-webmvc-4.2.1.RELEASE.jar
Dependency Hierarchy: - :x: **spring-webmvc-4.2.1.RELEASE.jar** (Vulnerable Library)
Found in HEAD commit: 66f6cec7b61b92e8af1c753e55af1f6e28648f07
Found in base branch: vp-rem
### Reachability Analysis This vulnerability is potentially reachable ``` com.visualpathit.account.validator.UserValidator (Application) -> org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport$NoOpValidator (Extension) -> org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport (Extension) -> org.springframework.web.servlet.resource.ResourceUrlProvider (Extension) -> org.springframework.web.servlet.resource.ResourceHttpRequestHandler (Extension) -> ❌ org.springframework.web.servlet.resource.PathResourceResolver (Vulnerable Component) ``` ### Vulnerability DetailsSpring Framework, versions 5.0 prior to 5.0.5 and versions 4.3 prior to 4.3.15 and older unsupported versions, allow applications to configure Spring MVC to serve static resources (e.g. CSS, JS, images). When static resources are served from a file system on Windows (as opposed to the classpath, or the ServletContext), a malicious user can send a request using a specially crafted URL that can lead a directory traversal attack.
Publish Date: 2018-04-06
URL: CVE-2018-1271
### CVSS 3 Score Details (5.9)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: High - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: High - Integrity Impact: None - Availability Impact: None
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1271
Release Date: 2018-04-06
Fix Resolution: org.springframework:spring-webflux:5.0.5.RELEASE,org.springframework:spring-webmvc:4.3.15.RELEASE,5.0.5.RELEASE
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.CVE-2015-5211
### Vulnerable Library - spring-webmvc-4.2.1.RELEASE.jarSpring Web MVC
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /Users/alexmaybaum/.m2/repository/org/springframework/spring-webmvc/4.2.1.RELEASE/spring-webmvc-4.2.1.RELEASE.jar
Dependency Hierarchy: - :x: **spring-webmvc-4.2.1.RELEASE.jar** (Vulnerable Library)
Found in HEAD commit: 66f6cec7b61b92e8af1c753e55af1f6e28648f07
Found in base branch: vp-rem
### Reachability AnalysisThe vulnerable code is unreachable
### Vulnerability DetailsUnder some situations, the Spring Framework 4.2.0 to 4.2.1, 4.0.0 to 4.1.7, 3.2.0 to 3.2.14 and older unsupported versions is vulnerable to a Reflected File Download (RFD) attack. The attack involves a malicious user crafting a URL with a batch script extension that results in the response being downloaded rather than rendered and also includes some input reflected in the response.
Publish Date: 2017-05-25
URL: CVE-2015-5211
### CVSS 3 Score Details (8.6)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Local - Attack Complexity: Low - Privileges Required: None - User Interaction: Required - Scope: Changed - Impact Metrics: - Confidentiality Impact: High - Integrity Impact: High - Availability Impact: High
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5211
Release Date: 2017-05-25
Fix Resolution: org.springframework:spring-web:4.2.2.RELEASE,4.1.8.RELEASE,3.2.15.RELEASE,org.springframework:spring-webmvc:4.2.2.RELEASE,4.1.8.RELEASE,3.2.15.RELEASE,org.springframework:spring-websocket:4.2.2.RELEASE,4.1.8.RELEASE,3.2.15.RELEASE
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.CVE-2016-9878
### Vulnerable Library - spring-webmvc-4.2.1.RELEASE.jarSpring Web MVC
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /pom.xml
Path to vulnerable library: /Users/alexmaybaum/.m2/repository/org/springframework/spring-webmvc/4.2.1.RELEASE/spring-webmvc-4.2.1.RELEASE.jar
Dependency Hierarchy: - :x: **spring-webmvc-4.2.1.RELEASE.jar** (Vulnerable Library)
Found in HEAD commit: 66f6cec7b61b92e8af1c753e55af1f6e28648f07
Found in base branch: vp-rem
### Reachability AnalysisThe vulnerable code is unreachable
### Vulnerability DetailsAn issue was discovered in Pivotal Spring Framework before 3.2.18, 4.2.x before 4.2.9, and 4.3.x before 4.3.5. Paths provided to the ResourceServlet were not properly sanitized and as a result exposed to directory traversal attacks.
Publish Date: 2016-12-29
URL: CVE-2016-9878
### CVSS 3 Score Details (7.5)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: High - Integrity Impact: None - Availability Impact: None
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-9878
Release Date: 2016-12-29
Fix Resolution: 3.2.18,4.2.9,4.3.5.
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.:rescue_worker_helmet:Automatic Remediation will be attempted for this issue.