The issue being discussed is the HTTP response injection described in
this paper:
http://www.sanctuminc.com/pdf/whitepaper_httpresponse.pdf
The idea is that there may be ways for user-supplied input to go,
unsanitized, into the HTTP response returned from the server. This can
be used to send a faked HTTP response as part of the pipeline for HTTP
keep-alive connections.
Briefly:
Client makes two requests on the same connection via HTTP
keep-alive.
The server responds with what appears to be 3 responses to the 2
requests.
The first and third responses are the actual responses from the
server, while the second response is actually data from the first
response, using the weakness illustrated in the paper (refer to URL
above), splitting the HTTP response by being able to control the
data placed in a HTTP response header.
The HTTP/1.1 specification indicates that CRLF is an end-of-header
marker EXCEPT when followed by a continuation-line. See the paragraph
about LWS:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html
Therefore, at the server level, when sending back "structured" HTTP
response headers (i.e., via "ns_returnredirect", or via "ns_set [ns_conn
outputheaders] key value") we can implement a check where:
if there is a CRLF sequence in the value portion of the header
and it is not followed by either an SP or an HT
then
truncate off the CRLF and everything following it
and send a message to the server log at Warning level about it.
This also raises the issue that AOLserver currently does NOT accept HTTP
requests where header lines are split across multiple lines via
header-continuation. With regard to strict compliance to the spec.,
this is a bug and should be addressed separately.
I hope to have a fix and interim patch available for this by early next
week. Does anyone have any issues with the proposed solution above?
-- Dossy
--
Dossy Shiobara mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
"He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of
your email blank.