>Number:         543
>Category:       mod_cgi
>Synopsis:       "%2F" not allowed in VGI script PATH_INFO
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache (Apache HTTP Project)
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Sun May  4 11:40:00 1997
>Originator:     [EMAIL PROTECTED]
>Organization:
apache
>Release:        1.2b?
>Environment:
N/A
[entered from mail to make a formal PR]
>Description:
If foo is a script, and you try to access foo/bar/baz, it will run foo and
pass /bar/baz as PATH_INFO.  If you try to access foo/bar%2fbaz, it will
return NOT_FOUND because of unescape_url in util.c:

                if (url[x] == '/' || url[x] == '\0') badpath = 1;

Smells like a bug.  Once again (sigh) no time to look more deeply, would
appreciate if someone familiar with that area take a look...
>How-To-Repeat:

>Fix:
[paraphrase from Roy]
If you reduce all %2f occurrences to '/' before doing any processing
on the path, that should do it - at the expense of not being able to
handle any filenames that actually include '/'
>Audit-Trail:
>Unformatted:


Reply via email to