CVE-2020-5397: CSRF Attack via CORS Preflight Requests with Spring MVC or Spring WebFlux
Spring by Pivotal
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.
Severity is medium unless otherwise noted.
- 5.2.0 to 5.2.2
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:
This issue was identified and responsibly reported by Eric Zimanyi from Google.
2020-01-16: Initial vulnerability report published.