CVE-2022-31690: Privilege Escalation in spring-security-oauth2-client

HIGH | OCTOBER 31, 2022 | CVE-2022-31690

Description

Spring Security, versions 5.7 prior to 5.7.5, and 5.6 prior to 5.6.9, and older unsupported versions could be susceptible to a privilege escalation under certain conditions. A malicious user or attacker can modify a request initiated by the Client (via the browser) to the Authorization Server which can lead to a privilege escalation on the subsequent approval. This scenario can happen if the Authorization Server responds with an OAuth2 Access Token Response containing an empty scope list (per RFC 6749, Section 5.1) on the subsequent request to the token endpoint to obtain the access token.

This vulnerability exposes applications that meet all of the following requirements:

  • Act in the role of a Login Client (e.g. http.oauth2Login())
  • Use one or more authorization rules with authorities mapped from authorized scopes (e.g. anyRequest().hasAuthority("SCOPE_message.write")) in the client application
  • Register an authorization server that responds with empty scopes list (per RFC 6749, Section 5.1)

This vulnerability does not expose applications that:

  • Act in the role of a Resource Server only (e.g. http.oauth2ResourceServer())
  • Use authorization rules with authorities not mapped from authorized scopes (e.g. anyRequest().hasAuthority("ROLE_USER")) in the client application

Affected Spring Products and Versions

  • Spring Security
    • 5.7 to 5.7.4
    • 5.6 to 5.6.8
    • Older, unsupported versions are also affected

Mitigation

Users of affected versions should apply the following mitigation: Spring Security 5.7 to 5.7.5, Spring Security 5.6 to 5.6.9. Older versions should upgrade to a supported branch. There are no other mitigation steps required. Releases that have fixed this issue include:

  • Spring Security
    • 5.7.5
    • 5.6.9

Credit

This issue was identified and responsibly reported by Tobias Soloschenko (@klopfdreh) from Apache Software Foundation.

References

History

  • 2022-10-31: Initial vulnerability report published.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all