[Openstack-security] [Bug 1440958] Re: loosen validation on matching trusted dashboard
David Stanek
dstanek at dstanek.com
Tue May 5 19:36:40 UTC 2015
In theory, relaxing the exact match makes us vulnerable to an attack if
this functionality is used with a dashboard that allows unvalidated
redirects.
Could a user spoof this by setting the dashboard URL to something like:
http://dashboard/redirect?url=http://hacked_site ?
And if they can what could they steal?
--
You received this bug notification because you are a member of OpenStack
Security, which is subscribed to OpenStack.
https://bugs.launchpad.net/bugs/1440958
Title:
loosen validation on matching trusted dashboard
Status in OpenStack Identity (Keystone):
Fix Committed
Bug description:
In the current implementation for verifying where the SSO request came
from, the host is grabbed from the 'origin' query parameter, and
compared to the list of 'trusted_dashboards' in the config file.
origin = context['query_string'].get('origin')
host = urllib.parse.unquote_plus(origin)
if host in CONF.federation.trusted_dashboard:
...
https://github.com/openstack/keystone/blob/master/keystone/contrib/federation/controllers.py#L278-L287
This works, but unless the entry is marked perfectly in the config
file, it won't match. We should loosen the validation that is
performed, and maybe even use the HTTP Referer instead (and no longer
require the 'origin' parameter from horizon).
We should be able to decompose the Refer to figure out the scheme +
hostname + path, and use that hostname to check against the trusted
dashboards.
To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1440958/+subscriptions
More information about the Openstack-security
mailing list