Bug 15857 - MUST handle "chunked" response with a 16385Byte-long chunk-ext-val sent to an HTTP/1.0 client
Summary: MUST handle "chunked" response with a 16385Byte-long chunk-ext-val sent to an...
Status: RESOLVED LATER
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mod_proxy (show other bugs)
Version: 2.0-HEAD
Hardware: All All
: P3 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL: http://coad.measurement-factory.com/c...
Keywords: RFC
Depends on:
Blocks:
 
Reported: 2003-01-07 20:44 UTC by Co-Advisor
Modified: 2007-08-03 08:02 UTC (History)
0 users



Attachments
test case trace (6.41 KB, text/html)
2003-01-07 20:46 UTC, Co-Advisor
Details
same test case, but using HTTP/1.1 client; same problem (6.48 KB, text/html)
2003-01-07 20:49 UTC, Co-Advisor
Details
same problem for request path, where it is even more dangerous (6.61 KB, text/html)
2003-01-07 21:17 UTC, Co-Advisor
Details
response sent to HTTP/1.0 client (7.43 KB, text/html)
2005-06-06 22:46 UTC, Co-Advisor
Details
request chunk (7.51 KB, text/html)
2005-06-06 22:48 UTC, Co-Advisor
Details
response sent to HTTP/1.1 client (7.36 KB, text/html)
2005-06-06 22:50 UTC, Co-Advisor
Details
response sent to HTTP/1.0 client (3.59 KB, text/plain)
2007-06-29 00:02 UTC, jfclere
Details
15321: request chunk (3.64 KB, text/plain)
2007-06-29 00:06 UTC, jfclere
Details
20415: response sent to HTTP/1.0 client (3.59 KB, text/plain)
2007-06-29 00:07 UTC, jfclere
Details
15322: response sent to HTTP/1.1 client (3.53 KB, text/plain)
2007-06-29 00:08 UTC, jfclere
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Co-Advisor 2003-01-07 20:44:53 UTC
Looks like a possible RFC 2616 MUST violation.  Apache seems
to be decoding chunks on-the-fly (as it should when client
is HTTP/1.0), but also returning wrong content. The bug is
probably in handling long extension tokens in chunked
encoding.  How exactly the content is corrupted is difficult
to say without further analysis. Suffice to say that
returned content does not match the sent content.

See attached trace for details and ways to reproduce.

Test case IDs in the trace link to human-oriented test case
description and RFC quotes, if available.
Comment 1 Co-Advisor 2003-01-07 20:46:46 UTC
Created attachment 4350 [details]
test case trace
Comment 2 Co-Advisor 2003-01-07 20:49:51 UTC
Created attachment 4351 [details]
same test case, but using HTTP/1.1 client; same problem
Comment 3 Co-Advisor 2003-01-07 21:17:06 UTC
Created attachment 4354 [details]
same problem for request path, where it is even more dangerous
Comment 4 Justin Erenkrantz 2003-02-19 06:53:27 UTC
Fixed in modules/http/http_protocol.c r1.465.

We will now return a 413 when the line exceeds our maximum line length.

Thanks for using Apache HTTP Server!
Comment 5 Co-Advisor 2005-06-06 22:44:16 UTC
Reopening the bug since the same violations
seem to exist in httpd-2.0.54
Comment 6 Co-Advisor 2005-06-06 22:46:48 UTC
Created attachment 15320 [details]
response sent to HTTP/1.0 client

We cannot tell what part of content (or extension) 
is being forwarded, but it is not the right part.
Note that the proxy dechunked the content (which is
fine).
Comment 7 Co-Advisor 2005-06-06 22:48:52 UTC
Created attachment 15321 [details]
request chunk
Comment 8 Co-Advisor 2005-06-06 22:50:45 UTC
Created attachment 15322 [details]
response sent to HTTP/1.1 client
Comment 9 jfclere 2007-06-29 00:02:10 UTC
Created attachment 20415 [details]
response sent to HTTP/1.0 client
Comment 10 jfclere 2007-06-29 00:06:35 UTC
Created attachment 20416 [details]
15321: request chunk
Comment 11 jfclere 2007-06-29 00:07:26 UTC
Created attachment 20417 [details]
20415: response sent to HTTP/1.0 client
Comment 12 jfclere 2007-06-29 00:08:06 UTC
Created attachment 20418 [details]
15322: response sent to HTTP/1.1 client
Comment 13 Jim Jagielski 2007-08-03 08:02:09 UTC
Likely not to be fixed/addressed in 2.0.x tree, but will consider at a later time.