CSRF Attack via CORS Preflight Requests with Spring MVC or Spring WebFlux
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Tampering
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Partial Red Hat: 5 without a fix
Attack profile from CVSS 3.1 · NVD. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-352.
Summary
Spring Framework, versions 5.2.x prior to 5.2.3 are vulnerable to CSRF attacks through CORS preflight requests that target Spring MVC (spring-webmvc module) or Spring WebFlux (spring-webflux module) endpoints. Only non-authenticated endpoints are vulnerable because preflight requests should not include credentials and therefore requests should fail authentication. However a notable exception to this are Chrome based browsers when using client certificates for authentication since Chrome sends TLS client certificates in CORS preflight requests in violation of spec requirements. No HTTP body can be sent or received as a result of this attack.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| VMware | Spring Framework | 5.2 to before v5.2.3.RELEASE | v5.2.3.RELEASE | Patch available | CNA |
| — | org.springframework:spring-webmvc (Maven) | 5.2.0 to before 5.2.3 | 5.2.3 | Patch available | GHSA-7pm4-g2qj-j85x |
| — | org.springframework:spring-webflux (Maven) | 5.2.0 to before 5.2.3 | 5.2.3 | Patch available | GHSA-7pm4-g2qj-j85x |
- Spring Framework VendorVMware Affected 5.2 to before v5.2.3.RELEASE Fixed in v5.2.3.RELEASE Patch available CNA
- org.springframework:spring-webmvc (Maven) Vendor— Affected 5.2.0 to before 5.2.3 Fixed in 5.2.3 Patch available GHSA-7pm4-g2qj-j85x
- org.springframework:spring-webflux (Maven) Vendor— Affected 5.2.0 to before 5.2.3 Fixed in 5.2.3 Patch available GHSA-7pm4-g2qj-j85x
CPE configurations NVD · 51
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:vmware:spring_framework:*:*:*:*:*:*:*:* | 5.2.0 to before 5.2.3 | Vulnerable | VMware |
| cpe:2.3:a:oracle:application_testing_suite:13.3.0.1:*:*:*:*:*:*:* | 13.3.0.1 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:communications_brm_-_elastic_charging_engine:11.3:*:*:*:*:*:*:* | 11.3 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:communications_brm_-_elastic_charging_engine:12.0:*:*:*:*:*:*:* | 12.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:communications_diameter_signaling_router:*:*:*:*:*:*:*:* | 8.0.0 – 8.2.2 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:communications_element_manager:8.1.1:*:*:*:*:*:*:* | 8.1.1 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:communications_element_manager:8.2.0:*:*:*:*:*:*:* | 8.2.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:communications_element_manager:8.2.1:*:*:*:*:*:*:* | 8.2.1 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:communications_policy_management:12.5.0:*:*:*:*:*:*:* | 12.5.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:communications_session_route_manager:8.1.1:*:*:*:*:*:*:* | 8.1.1 | Vulnerable | Oracle |
- cpe:2.3:a:vmware:spring_framework:*:*:*:*:*:*:*:* Versions 5.2.0 to before 5.2.3 Vulnerable ·VMware
- cpe:2.3:a:oracle:application_testing_suite:13.3.0.1:*:*:*:*:*:*:* Versions 13.3.0.1 Vulnerable ·Oracle
- cpe:2.3:a:oracle:communications_brm_-_elastic_charging_engine:11.3:*:*:*:*:*:*:* Versions 11.3 Vulnerable ·Oracle
- cpe:2.3:a:oracle:communications_brm_-_elastic_charging_engine:12.0:*:*:*:*:*:*:* Versions 12.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:communications_diameter_signaling_router:*:*:*:*:*:*:*:* Versions 8.0.0 – 8.2.2 Vulnerable ·Oracle
- cpe:2.3:a:oracle:communications_element_manager:8.1.1:*:*:*:*:*:*:* Versions 8.1.1 Vulnerable ·Oracle
- cpe:2.3:a:oracle:communications_element_manager:8.2.0:*:*:*:*:*:*:* Versions 8.2.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:communications_element_manager:8.2.1:*:*:*:*:*:*:* Versions 8.2.1 Vulnerable ·Oracle
- cpe:2.3:a:oracle:communications_policy_management:12.5.0:*:*:*:*:*:*:* Versions 12.5.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:communications_session_route_manager:8.1.1:*:*:*:*:*:*:* Versions 8.1.1 Vulnerable ·Oracle
Show 41 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:oracle:communications_session_route_manager:8.2.0:*:*:*:*:*:*:* | 8.2.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:communications_session_route_manager:8.2.1:*:*:*:*:*:*:* | 8.2.1 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:enterprise_manager_base_platform:13.2.1.0:*:*:*:*:*:*:* | 13.2.1.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:financial_services_regulatory_reporting_with_agilereporter:8.0.9.2.0:*:*:*:*:*:*:* | 8.0.9.2.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:flexcube_private_banking:12.0.0:*:*:*:*:*:*:* | 12.0.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:flexcube_private_banking:12.1.0:*:*:*:*:*:*:* | 12.1.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:healthcare_master_person_index:4.0.2:*:*:*:*:*:*:* | 4.0.2 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:insurance_calculation_engine:*:*:*:*:*:*:*:* | 11.0.0 – 11.3.1 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:insurance_policy_administration_j2ee:10.2.0:*:*:*:*:*:*:* | 10.2.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:insurance_policy_administration_j2ee:10.2.4:*:*:*:*:*:*:* | 10.2.4 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:insurance_policy_administration_j2ee:11.0.2:*:*:*:*:*:*:* | 11.0.2 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:insurance_policy_administration_j2ee:11.1.0:*:*:*:*:*:*:* | 11.1.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:insurance_policy_administration_j2ee:11.2.0:*:*:*:*:*:*:* | 11.2.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:insurance_rules_palette:10.2.0:*:*:*:*:*:*:* | 10.2.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:insurance_rules_palette:10.2.4:*:*:*:*:*:*:* | 10.2.4 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:insurance_rules_palette:11.0.2:*:*:*:*:*:*:* | 11.0.2 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:insurance_rules_palette:11.1.0:*:*:*:*:*:*:* | 11.1.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:insurance_rules_palette:11.2.0:*:*:*:*:*:*:* | 11.2.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:mysql_enterprise_monitor:*:*:*:*:*:*:*:* | 4.0.0 – 4.0.12; 8.0.0 – 8.0.20 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:rapid_planning:12.1:*:*:*:*:*:*:* | 12.1 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:rapid_planning:12.2:*:*:*:*:*:*:* | 12.2 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_assortment_planning:15.0:*:*:*:*:*:*:* | 15.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_assortment_planning:16.0:*:*:*:*:*:*:* | 16.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_back_office:14.1:*:*:*:*:*:*:* | 14.1 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_central_office:14.1:*:*:*:*:*:*:* | 14.1 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_financial_integration:15.0:*:*:*:*:*:*:* | 15.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_financial_integration:16.0:*:*:*:*:*:*:* | 16.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_integration_bus:15.0.3:*:*:*:*:*:*:* | 15.0.3 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_integration_bus:16.0.3:*:*:*:*:*:*:* | 16.0.3 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_order_broker:15.0:*:*:*:*:*:*:* | 15.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_order_broker:16.0:*:*:*:*:*:*:* | 16.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_point-of-service:14.1:*:*:*:*:*:*:* | 14.1 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_predictive_application_server:14.0.3:*:*:*:*:*:*:* | 14.0.3 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_predictive_application_server:14.1.3:*:*:*:*:*:*:* | 14.1.3 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_predictive_application_server:15.0.3.0:*:*:*:*:*:*:* | 15.0.3.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_predictive_application_server:16.0.3.0:*:*:*:*:*:*:* | 16.0.3.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_returns_management:14.1:*:*:*:*:*:*:* | 14.1 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_service_backbone:15.0:*:*:*:*:*:*:* | 15.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:retail_service_backbone:16.0:*:*:*:*:*:*:* | 16.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:weblogic_server:12.2.1.3.0:*:*:*:*:*:*:* | 12.2.1.3.0 | Vulnerable | Oracle |
| cpe:2.3:a:oracle:weblogic_server:12.2.1.4.0:*:*:*:*:*:*:* | 12.2.1.4.0 | Vulnerable | Oracle |
- cpe:2.3:a:oracle:communications_session_route_manager:8.2.0:*:*:*:*:*:*:* Versions 8.2.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:communications_session_route_manager:8.2.1:*:*:*:*:*:*:* Versions 8.2.1 Vulnerable ·Oracle
- cpe:2.3:a:oracle:enterprise_manager_base_platform:13.2.1.0:*:*:*:*:*:*:* Versions 13.2.1.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:financial_services_regulatory_reporting_with_agilereporter:8.0.9.2.0:*:*:*:*:*:*:* Versions 8.0.9.2.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:flexcube_private_banking:12.0.0:*:*:*:*:*:*:* Versions 12.0.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:flexcube_private_banking:12.1.0:*:*:*:*:*:*:* Versions 12.1.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:healthcare_master_person_index:4.0.2:*:*:*:*:*:*:* Versions 4.0.2 Vulnerable ·Oracle
- cpe:2.3:a:oracle:insurance_calculation_engine:*:*:*:*:*:*:*:* Versions 11.0.0 – 11.3.1 Vulnerable ·Oracle
- cpe:2.3:a:oracle:insurance_policy_administration_j2ee:10.2.0:*:*:*:*:*:*:* Versions 10.2.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:insurance_policy_administration_j2ee:10.2.4:*:*:*:*:*:*:* Versions 10.2.4 Vulnerable ·Oracle
- cpe:2.3:a:oracle:insurance_policy_administration_j2ee:11.0.2:*:*:*:*:*:*:* Versions 11.0.2 Vulnerable ·Oracle
- cpe:2.3:a:oracle:insurance_policy_administration_j2ee:11.1.0:*:*:*:*:*:*:* Versions 11.1.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:insurance_policy_administration_j2ee:11.2.0:*:*:*:*:*:*:* Versions 11.2.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:insurance_rules_palette:10.2.0:*:*:*:*:*:*:* Versions 10.2.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:insurance_rules_palette:10.2.4:*:*:*:*:*:*:* Versions 10.2.4 Vulnerable ·Oracle
- cpe:2.3:a:oracle:insurance_rules_palette:11.0.2:*:*:*:*:*:*:* Versions 11.0.2 Vulnerable ·Oracle
- cpe:2.3:a:oracle:insurance_rules_palette:11.1.0:*:*:*:*:*:*:* Versions 11.1.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:insurance_rules_palette:11.2.0:*:*:*:*:*:*:* Versions 11.2.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:mysql_enterprise_monitor:*:*:*:*:*:*:*:* Versions 4.0.0 – 4.0.12; 8.0.0 – 8.0.20 Vulnerable ·Oracle
- cpe:2.3:a:oracle:rapid_planning:12.1:*:*:*:*:*:*:* Versions 12.1 Vulnerable ·Oracle
- cpe:2.3:a:oracle:rapid_planning:12.2:*:*:*:*:*:*:* Versions 12.2 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_assortment_planning:15.0:*:*:*:*:*:*:* Versions 15.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_assortment_planning:16.0:*:*:*:*:*:*:* Versions 16.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_back_office:14.1:*:*:*:*:*:*:* Versions 14.1 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_central_office:14.1:*:*:*:*:*:*:* Versions 14.1 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_financial_integration:15.0:*:*:*:*:*:*:* Versions 15.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_financial_integration:16.0:*:*:*:*:*:*:* Versions 16.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_integration_bus:15.0.3:*:*:*:*:*:*:* Versions 15.0.3 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_integration_bus:16.0.3:*:*:*:*:*:*:* Versions 16.0.3 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_order_broker:15.0:*:*:*:*:*:*:* Versions 15.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_order_broker:16.0:*:*:*:*:*:*:* Versions 16.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_point-of-service:14.1:*:*:*:*:*:*:* Versions 14.1 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_predictive_application_server:14.0.3:*:*:*:*:*:*:* Versions 14.0.3 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_predictive_application_server:14.1.3:*:*:*:*:*:*:* Versions 14.1.3 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_predictive_application_server:15.0.3.0:*:*:*:*:*:*:* Versions 15.0.3.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_predictive_application_server:16.0.3.0:*:*:*:*:*:*:* Versions 16.0.3.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_returns_management:14.1:*:*:*:*:*:*:* Versions 14.1 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_service_backbone:15.0:*:*:*:*:*:*:* Versions 15.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:retail_service_backbone:16.0:*:*:*:*:*:*:* Versions 16.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:weblogic_server:12.2.1.3.0:*:*:*:*:*:*:* Versions 12.2.1.3.0 Vulnerable ·Oracle
- cpe:2.3:a:oracle:weblogic_server:12.2.1.4.0:*:*:*:*:*:*:* Versions 12.2.1.4.0 Vulnerable ·Oracle
Remediation
- Fix · CNA Spring Framework (Spring) Fixed in v5.2.3.RELEASE
- Fix · GHSA-7pm4-g2qj-j85x org.springframework:spring-webmvc (Maven) Fixed in 5.2.3 Advisory →
- Fix · GHSA-7pm4-g2qj-j85x org.springframework:spring-webflux (Maven) Fixed in 5.2.3 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat JBoss BRMS 5 | Affected | No fix planned: Out of support scope |
| Red Hat JBoss Data Virtualization 6 | Affected | No fix planned: Out of support scope |
| Red Hat JBoss Fuse 6 | Affected | No fix planned: Out of support scope |
| Red Hat JBoss Fuse Service Works 6 | Affected | No fix planned: Out of support scope |
| Red Hat JBoss SOA Platform 5 | Affected | No fix planned: Out of support scope |
Not affected: 3 products
- Red Hat Fuse 7
- Red Hat Storage 3
- Red Hat Virtualization 4
Timeline
- 2026-10-02 Threatist record created from CVE-2020-5397
- 2026-10-03 Alias added: GHSA-7pm4-g2qj-j85x
References
Patch 5
More VMware Spring Framework vulnerabilities
- TI-2022-07142 Code injection in Spring Framework KEVCVSS 3.1CRITICAL 9.8
- TI-2018-01175 Code injection in Spring Framework CVSS 3.1CRITICAL 9.8
- TI-2020-04444 RFD Attack via "Content-Disposition" Header Sourced from Request Input by Spring MVC or Spring WebFlux Application CVSS 3.1HIGH 7.5
- TI-2018-01180 Code injection in Spring Framework CVSS 3.1CRITICAL 9.8
- TI-2016-09283 Pivotal Spring Framework through 5.3.16 suffers from a potential remote code execution… CVSS 3.1CRITICAL 9.8
- TI-2014-00050 The Jaxb2RootElementHttpMessageConverter in Spring MVC in Spring Framework before 3.2.8… CVSS 2.0MEDIUM 6.8
Sources
- CVE-2020-5397 · CVE Program
- CVE-2020-5397 · NVD
- FIRST EPSS
- GHSA-7pm4-g2qj-j85x · GitHub Advisory Database · CC BY 4.0
- CVE-2020-5397 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences