Impact
Before version v0.34.1, the OAuth 2.0 Client's registered redirect URLs and the redirect URL provided at the OAuth2 Authorization Endpoint where compared using strings.ToLower while they should have been compared with a simple string match:
- Registering a client with allowed redirect URL
https://example.com/callback
- Performing OAuth2 flow and requesting redirect URL
https://example.com/CALLBACK
- Instead of an error (invalid redirect URL), the browser is redirected to
https://example.com/CALLBACK with a potentially successful OAuth2 response, depending on the state of the overall OAuth2 flow (the user might still deny the request for example).
References
Impact
Before version v0.34.1, the OAuth 2.0 Client's registered redirect URLs and the redirect URL provided at the OAuth2 Authorization Endpoint where compared using
strings.ToLowerwhile they should have been compared with a simple string match:https://example.com/callbackhttps://example.com/CALLBACKhttps://example.com/CALLBACKwith a potentially successful OAuth2 response, depending on the state of the overall OAuth2 flow (the user might still deny the request for example).References