[ 
https://issues.apache.org/jira/browse/TS-3202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alan M. Carroll closed TS-3202.
-------------------------------
       Resolution: Fixed
    Fix Version/s: 5.2.0

> HTTP Parsing should not allow CTL characters in the method
> ----------------------------------------------------------
>
>                 Key: TS-3202
>                 URL: https://issues.apache.org/jira/browse/TS-3202
>             Project: Traffic Server
>          Issue Type: Bug
>            Reporter: Susan Hinrichs
>            Assignee: Susan Hinrichs
>             Fix For: 5.2.0
>
>         Attachments: TS-3202.diff
>
>
> http_parser_parse_req() will mark a series of bytes as a correctly parsed 
> HTTP request if it meets the following constraints.
> <bytes excluding white space>+  <white space>+ <bytes excluding white 
> space>+\n
> The first set of bytes is the method.  The current code will match a bunch of 
> control characters as a valid method (found via a case in production).  
> Assuming the second set of bytes does not contain a valid domain name, the 
> processing will eventually fail and return to the client a message about not 
> being able to resolve the DNS address, which is confusing.
> Looking at the W3 specs, it looks like HTTP 1.1 has the most lax rules for 
> what characters can form a method token.  From my reading, a method can be 
> any token (http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.1), 
> and any character but white space and control characters are allowed to be in 
> a token (http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2).
> To improve the accuracy of our processing (and the accuracy of our error 
> messages), I'd like to change the parsing of the method token in 
> http_parser_parse_req() to restrict control characters from the method token 
> as well as the white space characters. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to