A Spring MVC or Spring WebFlux application running on JDK 9+ may be vulnerable to remote code execution (RCE) via data binding. The specific exploit requires the application to run on Tomcat as a WAR deployment. If the application is deployed as a Spring Boot executable jar, i.e. the default, it is not vulnerable to the exploit. However, the nature of the vulnerability is more general, and there may be other ways to exploit it.
Mend Note: Converted from WS-2022-0107, on 2022-11-07.
Spring Framework, versions 5.0 prior to 5.0.5 and versions 4.3 prior to 4.3.15 and older unsupported versions, provide client-side support for multipart requests. When Spring MVC or Spring WebFlux server application (server A) receives input from a remote client, and then uses that input to make a multipart request to another server (server B), it can be exposed to an attack, where an extra multipart is inserted in the content of the request from server A, causing server B to use the wrong value for a part it expects. This could to lead privilege escalation, for example, if the part content represents a username or user roles.
Direct dependency fix Resolution (org.springframework.session:spring-session-jdbc): 1.3.5.RELEASE
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.
CVE-2022-22970
### Vulnerable Libraries - spring-beans-4.2.6.RELEASE.jar, spring-core-4.2.6.RELEASE.jar
In spring framework versions prior to 5.3.20+ , 5.2.22+ and old unsupported versions, applications that handle file uploads are vulnerable to DoS attack if they rely on data binding to set a MultipartFile or javax.servlet.Part to a field in a model object.
In Spring Framework versions 5.3.0 - 5.3.10, 5.2.0 - 5.2.17, and older unsupported versions, it is possible for a user to provide malicious input to cause the insertion of additional log entries.
Spring Security (Spring Security 4.1.x before 4.1.5, 4.2.x before 4.2.4, and 5.0.x before 5.0.1; and Spring Framework 4.3.x before 4.3.14 and 5.0.x before 5.0.3) does not consider URL path parameters when processing security constraints. By adding a URL path parameter with special encodings, an attacker may be able to bypass a security constraint. The root cause of this issue is a lack of clarity regarding the handling of path parameters in the Servlet Specification. Some Servlet containers include path parameters in the value returned for getPathInfo() and some do not. Spring Security uses the value returned by getPathInfo() as part of the process of mapping requests to security constraints. In this particular attack, different character encodings used in path parameters allows secured Spring MVC static resource URLs to be bypassed.
In Spring Framework versions 5.3.0 - 5.3.13, 5.2.0 - 5.2.18, and older unsupported versions, it is possible for a user to provide malicious input to cause the insertion of additional log entries. This is a follow-up to CVE-2021-22096 that protects against additional types of input and in more places of the Spring Framework codebase.
Vulnerable Library - spring-session-jdbc-1.3.3.RELEASE.jar
Path to dependency file: /webapp/pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-core/4.2.6.RELEASE/spring-core-4.2.6.RELEASE.jar
Found in HEAD commit: 012e83ee9b10e35eced839f51b8019c57f33234b
Vulnerabilities
Reachable
Reachable
Reachable
Reachable
Unreachable
Unreachable
**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation
Details
CVE-2022-22965
### Vulnerable Library - spring-beans-4.2.6.RELEASE.jarSpring Beans
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /restclient/pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-beans/4.2.6.RELEASE/spring-beans-4.2.6.RELEASE.jar
Dependency Hierarchy: - spring-session-jdbc-1.3.3.RELEASE.jar (Root Library) - spring-jdbc-4.2.6.RELEASE.jar - :x: **spring-beans-4.2.6.RELEASE.jar** (Vulnerable Library)
Found in HEAD commit: 012e83ee9b10e35eced839f51b8019c57f33234b
Found in base branch: main
### Reachability Analysis This vulnerability is potentially reachable ``` com.box.l10n.mojito.bootstrap.Bootstrap (Application) -> org.springframework.boot.context.config.ConfigFileApplicationListener (Extension) -> ❌ org.springframework.beans.CachedIntrospectionResults (Vulnerable Component) ``` ### Vulnerability DetailsA Spring MVC or Spring WebFlux application running on JDK 9+ may be vulnerable to remote code execution (RCE) via data binding. The specific exploit requires the application to run on Tomcat as a WAR deployment. If the application is deployed as a Spring Boot executable jar, i.e. the default, it is not vulnerable to the exploit. However, the nature of the vulnerability is more general, and there may be other ways to exploit it. Mend Note: Converted from WS-2022-0107, on 2022-11-07.
Publish Date: 2022-04-01
URL: CVE-2022-22965
### Threat AssessmentExploit Maturity: High
EPSS: 97.5%
### 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://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
Release Date: 2022-04-01
Fix Resolution (org.springframework:spring-beans): 5.2.20.RELEASE
Direct dependency fix Resolution (org.springframework.session:spring-session-jdbc): 2.4.0
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.CVE-2018-1272
### Vulnerable Library - spring-core-4.2.6.RELEASE.jarSpring Core
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /webapp/pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-core/4.2.6.RELEASE/spring-core-4.2.6.RELEASE.jar
Dependency Hierarchy: - spring-session-jdbc-1.3.3.RELEASE.jar (Root Library) - spring-jdbc-4.2.6.RELEASE.jar - spring-beans-4.2.6.RELEASE.jar - :x: **spring-core-4.2.6.RELEASE.jar** (Vulnerable Library)
Found in HEAD commit: 012e83ee9b10e35eced839f51b8019c57f33234b
Found in base branch: main
### Reachability Analysis This vulnerability is potentially reachable ``` com.box.l10n.mojito.rest.images.ImageWS (Application) -> org.springframework.http.MediaType (Extension) -> ❌ org.springframework.util.MimeTypeUtils (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, provide client-side support for multipart requests. When Spring MVC or Spring WebFlux server application (server A) receives input from a remote client, and then uses that input to make a multipart request to another server (server B), it can be exposed to an attack, where an extra multipart is inserted in the content of the request from server A, causing server B to use the wrong value for a part it expects. This could to lead privilege escalation, for example, if the part content represents a username or user roles.
Publish Date: 2018-04-05
URL: CVE-2018-1272
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.2%
### CVSS 4 Score Details (7.7)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: High - Privileges Required: Low - 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://tanzu.vmware.com/security/cve-2018-1272
Release Date: 2018-04-05
Fix Resolution (org.springframework:spring-core): 4.3.15.RELEASE
Direct dependency fix Resolution (org.springframework.session:spring-session-jdbc): 1.3.5.RELEASE
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.CVE-2022-22970
### Vulnerable Libraries - spring-beans-4.2.6.RELEASE.jar, spring-core-4.2.6.RELEASE.jar### spring-beans-4.2.6.RELEASE.jar
Spring Beans
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /restclient/pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-beans/4.2.6.RELEASE/spring-beans-4.2.6.RELEASE.jar
Dependency Hierarchy: - spring-session-jdbc-1.3.3.RELEASE.jar (Root Library) - spring-jdbc-4.2.6.RELEASE.jar - :x: **spring-beans-4.2.6.RELEASE.jar** (Vulnerable Library) ### spring-core-4.2.6.RELEASE.jar
Spring Core
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /webapp/pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-core/4.2.6.RELEASE/spring-core-4.2.6.RELEASE.jar
Dependency Hierarchy: - spring-session-jdbc-1.3.3.RELEASE.jar (Root Library) - spring-jdbc-4.2.6.RELEASE.jar - spring-beans-4.2.6.RELEASE.jar - :x: **spring-core-4.2.6.RELEASE.jar** (Vulnerable Library)
Found in HEAD commit: 012e83ee9b10e35eced839f51b8019c57f33234b
Found in base branch: main
### Reachability Analysis This vulnerability is potentially reachable ``` com.box.l10n.mojito.bootstrap.Bootstrap (Application) -> org.springframework.boot.context.config.ConfigFileApplicationListener (Extension) -> ❌ org.springframework.beans.CachedIntrospectionResults (Vulnerable Component) ``` ### Vulnerability DetailsIn spring framework versions prior to 5.3.20+ , 5.2.22+ and old unsupported versions, applications that handle file uploads are vulnerable to DoS attack if they rely on data binding to set a MultipartFile or javax.servlet.Part to a field in a model object.
Publish Date: 2022-05-12
URL: CVE-2022-22970
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.4%
### CVSS 4 Score Details (6.0)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: High - Privileges Required: Low - 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://tanzu.vmware.com/security/cve-2022-22970
Release Date: 2022-05-12
Fix Resolution (org.springframework:spring-beans): 5.2.22.RELEASE
Direct dependency fix Resolution (org.springframework.session:spring-session-jdbc): 2.4.0
Fix Resolution (org.springframework:spring-core): 5.2.22.RELEASE
Direct dependency fix Resolution (org.springframework.session:spring-session-jdbc): 2.4.0
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.CVE-2021-22096
### Vulnerable Library - spring-core-4.2.6.RELEASE.jarSpring Core
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /webapp/pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-core/4.2.6.RELEASE/spring-core-4.2.6.RELEASE.jar
Dependency Hierarchy: - spring-session-jdbc-1.3.3.RELEASE.jar (Root Library) - spring-jdbc-4.2.6.RELEASE.jar - spring-beans-4.2.6.RELEASE.jar - :x: **spring-core-4.2.6.RELEASE.jar** (Vulnerable Library)
Found in HEAD commit: 012e83ee9b10e35eced839f51b8019c57f33234b
Found in base branch: main
### Reachability Analysis This vulnerability is potentially reachable ``` com.box.l10n.mojito.rest.images.ImageWS (Application) -> org.springframework.data.rest.webmvc.RepositoryRestHandlerMapping (Extension) -> org.springframework.web.servlet.mvc.condition.ProducesRequestCondition (Extension) -> ❌ org.springframework.util.MimeType (Vulnerable Component) ``` ### Vulnerability DetailsIn Spring Framework versions 5.3.0 - 5.3.10, 5.2.0 - 5.2.17, and older unsupported versions, it is possible for a user to provide malicious input to cause the insertion of additional log entries.
Publish Date: 2021-10-28
URL: CVE-2021-22096
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.1%
### CVSS 4 Score Details (5.3)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: Low - 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://tanzu.vmware.com/security/cve-2021-22096
Release Date: 2021-10-28
Fix Resolution (org.springframework:spring-core): 5.2.18.RELEASE
Direct dependency fix Resolution (org.springframework.session:spring-session-jdbc): 2.4.0
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.CVE-2018-1199
### Vulnerable Library - spring-core-4.2.6.RELEASE.jarSpring Core
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /webapp/pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-core/4.2.6.RELEASE/spring-core-4.2.6.RELEASE.jar
Dependency Hierarchy: - spring-session-jdbc-1.3.3.RELEASE.jar (Root Library) - spring-jdbc-4.2.6.RELEASE.jar - spring-beans-4.2.6.RELEASE.jar - :x: **spring-core-4.2.6.RELEASE.jar** (Vulnerable Library)
Found in HEAD commit: 012e83ee9b10e35eced839f51b8019c57f33234b
Found in base branch: main
### Reachability AnalysisThe vulnerable code is unreachable
### Vulnerability DetailsSpring Security (Spring Security 4.1.x before 4.1.5, 4.2.x before 4.2.4, and 5.0.x before 5.0.1; and Spring Framework 4.3.x before 4.3.14 and 5.0.x before 5.0.3) does not consider URL path parameters when processing security constraints. By adding a URL path parameter with special encodings, an attacker may be able to bypass a security constraint. The root cause of this issue is a lack of clarity regarding the handling of path parameters in the Servlet Specification. Some Servlet containers include path parameters in the value returned for getPathInfo() and some do not. Spring Security uses the value returned by getPathInfo() as part of the process of mapping requests to security constraints. In this particular attack, different character encodings used in path parameters allows secured Spring MVC static resource URLs to be bypassed.
Publish Date: 2018-03-16
URL: CVE-2018-1199
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.2%
### 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://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1199
Release Date: 2018-01-29
Fix Resolution (org.springframework:spring-core): 4.3.14.RELEASE
Direct dependency fix Resolution (org.springframework.session:spring-session-jdbc): 1.3.5.RELEASE
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.CVE-2021-22060
### Vulnerable Library - spring-core-4.2.6.RELEASE.jarSpring Core
Library home page: https://github.com/spring-projects/spring-framework
Path to dependency file: /webapp/pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/spring-core/4.2.6.RELEASE/spring-core-4.2.6.RELEASE.jar
Dependency Hierarchy: - spring-session-jdbc-1.3.3.RELEASE.jar (Root Library) - spring-jdbc-4.2.6.RELEASE.jar - spring-beans-4.2.6.RELEASE.jar - :x: **spring-core-4.2.6.RELEASE.jar** (Vulnerable Library)
Found in HEAD commit: 012e83ee9b10e35eced839f51b8019c57f33234b
Found in base branch: main
### Reachability AnalysisThe vulnerable code is unreachable
### Vulnerability DetailsIn Spring Framework versions 5.3.0 - 5.3.13, 5.2.0 - 5.2.18, and older unsupported versions, it is possible for a user to provide malicious input to cause the insertion of additional log entries. This is a follow-up to CVE-2021-22096 that protects against additional types of input and in more places of the Spring Framework codebase.
Publish Date: 2022-01-07
URL: CVE-2021-22060
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.1%
### CVSS 4 Score Details (5.3)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: Low - 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-2021-22060
Release Date: 2022-01-07
Fix Resolution (org.springframework:spring-core): 5.2.19.RELEASE
Direct dependency fix Resolution (org.springframework.session:spring-session-jdbc): 2.4.0
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.:rescue_worker_helmet:Automatic Remediation will be attempted for this issue.