Looking for the vulnerability index of Invicti's legacy products?
Remote Code Execution (RCE) in Spring Security OAuth - Vulnerability Database

Remote Code Execution (RCE) in Spring Security OAuth

Description

Spring Security OAuth is a framework that integrates OAuth 1.0a and OAuth 2.0 authentication with Spring Security. A critical vulnerability exists in versions 1.0.x through 2.0.9 where the whitelabel approval and error pages fail to properly sanitize the response_type parameter. This parameter is directly evaluated as a Spring Expression Language (SpEL) expression, allowing attackers to inject and execute arbitrary SpEL code without authentication. This vulnerability can be exploited by crafting malicious authorization requests with specially-crafted response_type values.

Remediation

Apply the following remediation steps based on your Spring Security OAuth version:

For version 1.0.x users:

  • Disable the built-in whitelabel views for approval and error pages immediately
  • Implement custom approval and error pages that properly sanitize all user input
  • Consider upgrading to version 2.0.10 or later if feasible

For version 2.0.0 through 2.0.9 users:
  • Recommended: Upgrade to Spring Security OAuth version 2.0.10 or later, which includes a fix for this vulnerability
  • Temporary mitigation: If immediate upgrade is not possible, disable whitelabel views and implement custom approval and error pages with proper input validation

Additional security measures:
  • Review application logs for suspicious authorization requests with unusual response_type values
  • Implement Web Application Firewall (WAF) rules to detect and block SpEL injection attempts
  • Apply the principle of least privilege to application server processes to limit potential damage from exploitation

Related Vulnerabilities