Headline
CVE-2020-5397: CVE-2020-5397: CSRF Attack via CORS Preflight Requests with Spring MVC or Spring WebFlux | Security
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.
All Vulnerability Reports
Severity
Medium
Vendor
Spring by Pivotal
Description
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.
Affected VMware Products and Versions
Severity is medium unless otherwise noted.
- Spring Framework
- 5.2.0 to 5.2.2
Mitigation
Users of affected versions should apply the below mitigation. 5.2.x users should upgrade to 5.2.3. There are no other mitigation steps necessary. Use of Spring Security with URL based security and CORS support enabled prevents exposure to this vulnerability. Releases that have fixed this issue include:
- Spring Framework
- 5.2.3
Credit
This issue was identified and responsibly reported by Eric Zimanyi from Google.
References
- https://www.w3.org/TR/cors/
- https://bugs.chromium.org/p/chromium/issues/detail?id=775438
History
2020-01-16: Initial vulnerability report published.