Is it safe to put the following code (check if "url" starts with http://
or https://) in casLogoutView.jsp, in order to "re-enable" url parameter
functionality as defined in http://www.jasig.org/cas/protocol (section
2.3.1)?

Let me give you the background for the removal of that feature. It was pointed out that the url parameter was under the control of the client, so it could be manipulated to embed content or point the user to a malicious site. We removed it as a precaution: better to err on the side of security. As long as you escape XML content, you protect against the first concern, but there's no simple protection against the possibility of a malicious site offering a link like the following:

https://cas.example.com/cas/logout?url=https://thepiratebay.se

While one would hope that the target URL is patently clear in most cases, I can imagine cases where the target URL could be disguised to look like an institutional service. (See http://en.wikipedia.org/wiki/IDN_homograph_attack for one possible avenue.) While the risk of this kind of attack is fairly low, it is yet a risk.

For what it's worth, we still have this feature enabled in our environment, simply taking care to escape XML content.

M

--
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to