> Amos Jeffries wrote:
>>> So of course the problem is proventia corrupting the HTTP headers and
>>> we will raise an issue about that with IBM.
>>>
>>> But for the time being: is there a chance to make squid more
>>> "tolerant" about those kind of problems? Without surprize I did not
>>> find any fitting config options :-)
>>>
>> Not nearly as easy as it will be for IBM to issue a fix for it. Or even
>> to replace the box with free software that works well.
>
> Hehe, sure, no objections, it is just the world being far from perfect :-)
>
>> Not also without opening some potential data-injection and cache
>> poisoning flaws into Squid.
>>
>> Consider what happens with:
>>
>> HTTP/1.1 200 OK
>> Bwahaha: "
>> Cache-Control: private
>>
>> ...something you really did not want public...
>> .
>>
>> vs:
>>
>> HTTP/1.1 200 OK
>> Content-Type: "fu
>> bar: tender: and: wine"
>> Cache-Control: private
>
> Hmm, reading the specs for HTTP message headers [1] I think this could
> be done without imposing security issues. As per specification your last
> example would read correctly:
>
> -------CUT-------
> HTTP/1.1 200 OK
> Content-Type: "fu
>   bar: tender: and: wine"
> Cache-Control: private
> -------CUT-------
>
> note the leading whitespace.

I know. Both of what I pointed are two cases of the same brokenness. Squid
handles the one is can interpret 'safely'[1] (second), but at expense of
dropping the first set when no termination can be found at all and its
clearly very unsafe to make assumptions.

 [1] for some vague value of safe the paranoid in me gets very edgy about
as-is.

Amos


Reply via email to