Skip to content

validate redirect origin in oidc rp sign-in completion#3241

Open
dxbjavid wants to merge 1 commit into
apache:mainfrom
dxbjavid:oidc-rp-redirect-origin-check
Open

validate redirect origin in oidc rp sign-in completion#3241
dxbjavid wants to merge 1 commit into
apache:mainfrom
dxbjavid:oidc-rp-redirect-origin-check

Conversation

@dxbjavid

Copy link
Copy Markdown
Contributor

when the rp sign-in flow completes, OidcRpAuthenticationService redirects the browser to the state value, which OidcRpAuthenticationFilter copies straight from the current request parameters, so a request such as /rp/complete?state=https://evil.example against an authenticated session returns a 303 to an arbitrary external host, an open redirect. the legitimate value is always the application's own request uri, so completeAuthentication now only honours a location that is relative or shares the same scheme and authority as the base path, otherwise it falls back to the configured default location. the added test covers the cross-origin, protocol-relative and userinfo-host variants.

Signed-off-by: dxbjavid <dxbjavid@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant