missing URL-encoding in audit log

Andrew Morgan morgan at orst.edu
Tue Jul 25 12:50:16 EDT 2017


On Tue, 25 Jul 2017, Cantor, Scott wrote:

> On 7/25/17, 12:30 PM, "users on behalf of Andrew Morgan" <users-bounces at shibboleth.net on behalf of morgan at orst.edu> wrote:
>
>> I've read RFC 2396 (section 2.4.3).  I'm not clear if the CAS service URL
>> represented in the audit logs should be in an escaped form or not.  Is the
>> log representing a "URI" or something else in that context?
>
> It's a URI, expressed literally, as a name. If the URI contains 
> characters that have to be escaped to appear *in* the URI itself in one 
> of the segments, then it has to be escaped by the thing creating the 
> URI.
>
>> If it is a URI, then I propose that it should be URI escaped and the |
>> would be represented as %7C (thanks for the correction).
>
> Not by the IdP, no. The bug is in whatever is sending you that URI 
> without encoding the character.
>
> If the IdP encoded URI names, then SAML entityIDs would show up with 
> encoded / or : characters.

Here is the original Apache log entry from the client's web browser:

[23/Jul/2017:14:08:10 -0700] "GET /idp/profile/cas/login?service=https%3A%2F%2Fcourses.ecampus.oregonstate.edu%2Ffishes-collection%2Fimage.php%3Fid%3D1038%7CisIframe HTTP/1.1" 302 398

and the validation call from the CAS client:

[23/Jul/2017:14:08:35 -0700] "POST /cas/samlValidate?TARGET=https%3A%2F%2Fcourses.ecampus.oregonstate.edu%2Ffishes-collection%2Fimage.php%3Fid%3D1038%7CisIframe HTTP/1.1" 200 11906

I'm not sure what the browser or CAS client could do differently.  The 
service and TARGET parameters are URL-encoded, right?

Thanks,
 	Andy


More information about the users mailing list