CVE-2020-5397
CSRF Attack via CORS Preflight Requests with Spring MVC or Spring WebFlux
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.3
CSRF Attack via CORS Preflight Requests with Spring MVC or Spring WebFlux
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.
- Record
CVE-2020-5397- CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-352
- Updated
- 2026-11-02
EUVDEUVD-2020-0253
5.3
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.
- Record
EUVD-2020-0253- CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-7pm4-g2qj-j85x
5.3
CSRF attack via CORS preflight requests with Spring MVC or Spring WebFlux
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.
- Record
GHSA-7pm4-g2qj-j85x- CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-352
- Updated
- 2026-11-02
NVD
5.3
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.
- Record
CVE-2020-5397- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - CVSS 2.0
- 2.6 Low
AV:N/AC:H/Au:N/C:N/I:P/A:N - Weakness
- CWE-352
- Updated
- 2026-11-02
OSV
5.3
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.
- Record
CVE-2020-5397- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSVGHSA-7pm4-g2qj-j85x
5.3
CSRF attack via CORS preflight requests with Spring MVC or Spring WebFlux
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.
- Record
GHSA-7pm4-g2qj-j85x- CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-352
- Updated
- 2026-11-02
Show 4 moreShow less
OSVUBUNTU-CVE-2020-5397
5.3
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.
- Record
UBUNTU-CVE-2020-5397- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - CVSS 3.0
- 5.3 Medium
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
OSVCLSA-2026-1788372470 No score
TuxCare security update for org.springframework (21 CVEs)
TuxCare rebuilt 7 org.springframework packages to address 21 CVEs. Fixed in 5.2.0.RELEASE-tuxcare.4.
- Record
CLSA-2026-1788372470- Updated
- 2026-11-02
OSVCLSA-2026-1793897475 No score
TuxCare security update for org.springframework (12 CVEs)
TuxCare rebuilt 7 org.springframework packages to address 12 CVEs. Fixed in 5.0.19.RELEASE-tuxcare.4.
- Record
CLSA-2026-1793897475- Updated
- 2026-11-06
OSVCLSA-2026-1793904253 No score
TuxCare security update for org.springframework (2 CVEs)
TuxCare rebuilt 3 org.springframework packages to address 2 CVEs. Fixed in 5.1.5.RELEASE-tuxcare.8.
- Record
CLSA-2026-1793904253- Updated
- 2026-11-06
Affected products
- spring framework
- vmware spring framework
- oracle application testing suite
- oracle communications brm - elastic charging engine
- oracle communications diameter signaling router
- oracle communications element manager
- oracle communications policy management
- oracle communications session route manager
- oracle enterprise manager base platform
- oracle financial services regulatory reporting with agilereporter
- oracle flexcube private banking
- oracle healthcare master person index
Show 16 moreShow less
- oracle insurance calculation engine
- oracle insurance policy administration j2ee
- oracle insurance rules palette
- oracle mysql enterprise monitor
- oracle rapid planning
- oracle retail assortment planning
- oracle retail back office
- oracle retail central office
- oracle retail financial integration
- oracle retail integration bus
- oracle retail order broker
- oracle retail point-of-service
- oracle retail predictive application server
- oracle retail returns management
- oracle retail service backbone
- oracle weblogic server
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.springframework:spring-webmvcMaven |
5.2.0 up to 5.2.3 | 5.2.3 |
org.springframework:spring-webfluxMaven |
5.2.0 up to 5.2.3 | 5.2.3 |
org.springframework:spring-expressionTuxCare:Maven From an advisory covering 21 CVEs |
5.2.0.RELEASE up to 5.2.0.RELEASE-tuxcare.4, plus listed versions 5.2.0.RELEASE-tuxcare.15.2.0.RELEASE-tuxcare.25.2.0.RELEASE-tuxcare.3 |
5.2.0.RELEASE-tuxcare.4 |
org.springframework:spring-jmsTuxCare:Maven From an advisory covering 21 CVEs |
5.2.0.RELEASE up to 5.2.0.RELEASE-tuxcare.4, plus listed versions 5.2.0.RELEASE-tuxcare.15.2.0.RELEASE-tuxcare.25.2.0.RELEASE-tuxcare.3 |
5.2.0.RELEASE-tuxcare.4 |
org.springframework:spring-messagingTuxCare:Maven From an advisory covering 21 CVEs |
5.2.0.RELEASE up to 5.2.0.RELEASE-tuxcare.4, plus listed versions 5.2.0.RELEASE-tuxcare.15.2.0.RELEASE-tuxcare.25.2.0.RELEASE-tuxcare.3 |
5.2.0.RELEASE-tuxcare.4 |
org.springframework:spring-webTuxCare:Maven From an advisory covering 21 CVEs |
5.2.0.RELEASE up to 5.2.0.RELEASE-tuxcare.4, plus listed versions 5.2.0.RELEASE-tuxcare.15.2.0.RELEASE-tuxcare.25.2.0.RELEASE-tuxcare.3 |
5.2.0.RELEASE-tuxcare.4 |
org.springframework:spring-webfluxTuxCare:Maven From an advisory covering 21 CVEs |
5.2.0.RELEASE up to 5.2.0.RELEASE-tuxcare.4, plus listed versions 5.2.0.RELEASE-tuxcare.15.2.0.RELEASE-tuxcare.25.2.0.RELEASE-tuxcare.3 |
5.2.0.RELEASE-tuxcare.4 |
org.springframework:spring-webmvcTuxCare:Maven From an advisory covering 21 CVEs |
5.2.0.RELEASE up to 5.2.0.RELEASE-tuxcare.4, plus listed versions 5.2.0.RELEASE-tuxcare.15.2.0.RELEASE-tuxcare.25.2.0.RELEASE-tuxcare.3 |
5.2.0.RELEASE-tuxcare.4 |
org.springframework:spring-websocketTuxCare:Maven From an advisory covering 21 CVEs |
5.2.0.RELEASE up to 5.2.0.RELEASE-tuxcare.4, plus listed versions 5.2.0.RELEASE-tuxcare.15.2.0.RELEASE-tuxcare.25.2.0.RELEASE-tuxcare.3 |
5.2.0.RELEASE-tuxcare.4 |
org.springframework:spring-beansTuxCare:Maven From an advisory covering 12 CVEs |
5.0.19.RELEASE up to 5.0.19.RELEASE-tuxcare.4, plus listed versions 5.0.19.RELEASE-tuxcare.15.0.19.RELEASE-tuxcare.25.0.19.RELEASE-tuxcare.3 |
5.0.19.RELEASE-tuxcare.4 |
Show 20 moreShow less
| Package | Affected | Fixed |
|---|---|---|
org.springframework:spring-coreTuxCare:Maven From an advisory covering 12 CVEs |
5.0.19.RELEASE up to 5.0.19.RELEASE-tuxcare.4, plus listed versions 5.0.19.RELEASE-tuxcare.15.0.19.RELEASE-tuxcare.25.0.19.RELEASE-tuxcare.3 |
5.0.19.RELEASE-tuxcare.4 |
org.springframework:spring-expressionTuxCare:Maven From an advisory covering 12 CVEs |
5.0.19.RELEASE up to 5.0.19.RELEASE-tuxcare.4, plus listed versions 5.0.19.RELEASE-tuxcare.15.0.19.RELEASE-tuxcare.25.0.19.RELEASE-tuxcare.3 |
5.0.19.RELEASE-tuxcare.4 |
org.springframework:spring-webTuxCare:Maven From an advisory covering 12 CVEs |
5.0.19.RELEASE up to 5.0.19.RELEASE-tuxcare.4, plus listed versions 5.0.19.RELEASE-tuxcare.15.0.19.RELEASE-tuxcare.25.0.19.RELEASE-tuxcare.3 |
5.0.19.RELEASE-tuxcare.4 |
org.springframework:spring-webfluxTuxCare:Maven From an advisory covering 12 CVEs |
5.0.19.RELEASE up to 5.0.19.RELEASE-tuxcare.4, plus listed versions 5.0.19.RELEASE-tuxcare.15.0.19.RELEASE-tuxcare.25.0.19.RELEASE-tuxcare.3 |
5.0.19.RELEASE-tuxcare.4 |
org.springframework:spring-webmvcTuxCare:Maven From an advisory covering 12 CVEs |
5.0.19.RELEASE up to 5.0.19.RELEASE-tuxcare.4, plus listed versions 5.0.19.RELEASE-tuxcare.15.0.19.RELEASE-tuxcare.25.0.19.RELEASE-tuxcare.3 |
5.0.19.RELEASE-tuxcare.4 |
org.springframework:spring-websocketTuxCare:Maven From an advisory covering 12 CVEs |
5.0.19.RELEASE up to 5.0.19.RELEASE-tuxcare.4, plus listed versions 5.0.19.RELEASE-tuxcare.15.0.19.RELEASE-tuxcare.25.0.19.RELEASE-tuxcare.3 |
5.0.19.RELEASE-tuxcare.4 |
org.springframework:spring-webTuxCare:Maven From an advisory covering 2 CVEs |
5.1.5.RELEASE up to 5.1.5.RELEASE-tuxcare.8, plus listed versions 5.1.5.RELEASE-tuxcare.15.1.5.RELEASE-tuxcare.25.1.5.RELEASE-tuxcare.35.1.5.RELEASE-tuxcare.45.1.5.RELEASE-tuxcare.55.1.5.RELEASE-tuxcare.65.1.5.RELEASE-tuxcare.7 |
5.1.5.RELEASE-tuxcare.8 |
org.springframework:spring-webfluxTuxCare:Maven From an advisory covering 2 CVEs |
5.1.5.RELEASE up to 5.1.5.RELEASE-tuxcare.8, plus listed versions 5.1.5.RELEASE-tuxcare.15.1.5.RELEASE-tuxcare.25.1.5.RELEASE-tuxcare.35.1.5.RELEASE-tuxcare.45.1.5.RELEASE-tuxcare.55.1.5.RELEASE-tuxcare.65.1.5.RELEASE-tuxcare.7 |
5.1.5.RELEASE-tuxcare.8 |
org.springframework:spring-webmvcTuxCare:Maven From an advisory covering 2 CVEs |
5.1.5.RELEASE up to 5.1.5.RELEASE-tuxcare.8, plus listed versions 5.1.5.RELEASE-tuxcare.15.1.5.RELEASE-tuxcare.25.1.5.RELEASE-tuxcare.35.1.5.RELEASE-tuxcare.45.1.5.RELEASE-tuxcare.55.1.5.RELEASE-tuxcare.65.1.5.RELEASE-tuxcare.7 |
5.1.5.RELEASE-tuxcare.8 |
org.springframework:spring-webmvcMaven |
5.2.0 up to 5.2.3, plus listed versions 5.2.0.RELEASE5.2.1.RELEASE5.2.2.RELEASE |
5.2.3 |
org.springframework:spring-webfluxMaven |
5.2.0 up to 5.2.3, plus listed versions 5.2.0.RELEASE5.2.1.RELEASE5.2.2.RELEASE |
5.2.3 |
libspring-javaUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 3.0.6.RELEASE-73.0.6.RELEASE-83.0.6.RELEASE-93.0.6.RELEASE-103.0.6.RELEASE-11 Show 4 moreShow less3.0.6.RELEASE-123.0.6.RELEASE-133.0.6.RELEASE-13ubuntu0.1~esm13.0.6.RELEASE-13ubuntu0.1~esm2 |
None known |
libspring-javaUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 3.2.13-33.2.13-43.2.13-53.2.13-5ubuntu0.1~esm1 |
None known |
libspring-javaUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 4.3.11-14.3.12-14.3.13-24.3.14-14.3.22-1~18.044.3.22-1~18.04.1~esm1 |
None known |
libspring-javaUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 4.3.22-44.3.22-4ubuntu0.1~esm1 |
None known |
libspring-javaUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 4.3.30-14.3.30-1ubuntu0.1~esm1 |
None known |
libspring-javaUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 4.3.30-24.3.30-2ubuntu0.24.04.1~esm1 |
None known |
libspring-javaUbuntu:25.10 |
All versions, plus listed versions 4.3.30-2ubuntu14.3.30-3ubuntu1 |
None known |
libspring-javaUbuntu:26.10 |
All versions, plus listed versions 4.3.30-3ubuntu1 |
None known |
libspring-javaUbuntu:26.04:LTS |
All versions, plus listed versions 4.3.30-3ubuntu1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases | OSV | |
| affected, facts | ||
| aliases, products, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-5397 is a medium vulnerability (CVSS 5.3) in Spring Framework, published January 17, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.55%, the 85th percentile. Fixed in org.springframework:spring-webmvc 5.2.3.
References
oracle.com/security-alerts/cpuapr2020.html
oracle.com/security-alerts/cpujul2020.html
pivotal.io/security/cve-2020-5397
oracle.com/security-alerts/cpuoct2020.html
oracle.com//security-alerts/cpujul2021.html
oracle.com/security-alerts/cpuoct2021.html
Show 7 moreShow less
oracle.com/security-alerts/cpujul2022.html
nvd.nist.gov/vuln/detail/CVE-2020-5397
github.com/spring-projects/spring-framework
github.com/spring-projects/spring-framework/commit/bc7d01048579430b4b2df668178809b63d3f1929
github.com/advisories/GHSA-7pm4-g2qj-j85x
ubuntu.com/security/CVE-2020-5397
cve.org/CVERecord?id=CVE-2020-5397