Open dmolesUC opened 2 years ago
I have a pull request ready to go (#67), but all that said, I'm not sure how important this is except as a way of minimizing migration effort, since OmniAuth separately provides more or less the same functionality via the origin
param.
Steps to reproduce:
/auth/:provider
as discussed in the Resolving CVE-2015-9284 wiki page./auth/calnet
, providing aurl
parameter in the request body:Expected:
Location
header in response includes the provided URLhttps://right.example.test/
Actual:
Location
header in response does not include anyurl
parameterNotes:
The issue is the assumption commented on line 211 here:
https://github.com/dlindahl/omniauth-cas/blob/4ab8a1c9c3333223a547cdd266679b9edf3a0f58/lib/omniauth/strategies/cas.rb#L210-L217
This only works for GET requests; for POST requests the parameter exists, but was never in in
request.query_string
to be copied by OmniAuth into the callback URL (see#callback_url
and#query_string
inOmniAuth::Strategy
).The result is that both the provided
url
parameter and theReferer
header (if provided) are ignored.