Legacy releaseThere are more recent releases which improve upon this release. Getting the filesThe release is attached to this Wiki page. Release notesAddresses a potential security issue whereby the HTTP "Host" header is used as the basis for determining the service URL in some high-level clients - particularly the Java filter and tag library. The potential problem is best explained as follows. Clients that use a method based on the HTTP "Host" header to determine the current request's URL (e.g., via calls to ServletRequest.getRequestURL()) are vulnerable to an "illicit proxy" attack. Like all HTTP headers, the HTTP "Host" header is under the control of the client. Suppose service A, running at http://A, is contacted by a user that supplies "Host: B" as a header. If the web server on which service A runs passes through requests for unknown "virtual hosts" to service A, then when service A calls getRequestURL(), the result will be "http://B". This leads to a situation where service B can conduct an illegal proxy authentication to service A without A's knowledge as follows:
All of the following are solutions to this problem:
<init-param> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> <param-value>myserver:myport</param-value> </init-param> (where ":myport" is optional).
This potential attack is not relevant for the PAM module, and the documentation for the ASP page has been adjusted to provide new information. |
