Cross-Site Request Forgery (CSRF)
Spring Framework is vulnerable to CSRF attacks through CORS preflight requests that target Spring Web (spring-web module) endpoints in versions before 5.2.3 or Spring WebFlux (spring-webflux module) endpoints in versions 5.x before 5.2.3 or Spring WebMVC (spring-webmvc module) endpoints in versions before 5.2.3 . 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.
CWE-352 - Cross-Site Request Forgery (CSRF)
Cross-Site Request Forgery (CSRF) is a vulnerability that allows an attacker to make arbitrary requests in an authenticated vulnerable web application and disrupt the integrity of the victim’s session. The impact of a successful CSRF attack may range from minor to severe, depending upon the capabilities exposed by the vulnerable application and privileges of the user. An attacker may force the user to perform state-changing requests like transferring funds, changing their email address or password etc. However, if an administrative level account is affected, it may compromise the whole web application and associated sensitive data.