CVE-2018-15758: Privilege Escalation in spring-security-oauth2

CRITICAL | OCTOBER 16, 2018 | CVE-2018-15758

Description

Spring Security OAuth, versions 2.3 prior to 2.3.4, and 2.2 prior to 2.2.3, and 2.1 prior to 2.1.3, and 2.0 prior to 2.0.16, and older unsupported versions could be susceptible to a privilege escalation under certain conditions. A malicious user or attacker can craft a request to the approval endpoint that can modify the previously saved authorization request and lead to a privilege escalation on the subsequent approval. This scenario can happen if the application is configured to use a custom approval endpoint that declares AuthorizationRequest as a controller method argument.

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

  • Act in the role of an Authorization Server (e.g. @EnableAuthorizationServer)
  • Use a custom Approval Endpoint that declares AuthorizationRequest as a controller method argument

This vulnerability does not expose applications that:

  • Act in the role of an Authorization Server and use the default Approval Endpoint
  • Act in the role of a Resource Server only (e.g. @EnableResourceServer)
  • Act in the role of a Client only (e.g. @EnableOAuthClient)

Affected Spring Products and Versions

  • Spring Security OAuth 2.3 to 2.3.3
  • Spring Security OAuth 2.2 to 2.2.2
  • Spring Security OAuth 2.1 to 2.1.2
  • Spring Security OAuth 2.0 to 2.0.15
  • Older unsupported versions are also affected

Mitigation

Users of affected versions should apply the following mitigation:

  • 2.3.x users should upgrade to 2.3.4
  • 2.2.x users should upgrade to 2.2.3
  • 2.1.x users should upgrade to 2.1.3
  • 2.0.x users should upgrade to 2.0.16
  • Older versions should upgrade to a supported branch

There are no other mitigation steps required.

Credit

This issue was identified and responsibly reported by Alvaro Muñoz (@pwntester) from Micro Focus.

References

History

2018-10-16: 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