[Zope-dev] version status
Oliver Bleutgen
myzope@gmx.net
Mon, 16 Jun 2003 17:13:20 +0200
Shane Hathaway wrote:
> Jamie Heilman wrote:
>
>> Whats the status of versions for 2.6.2 and 2.7? Have there been any
>> decisions reached? I saw Jim's code get checked in but it won't
>> stop the DoS I posted.
>
>
> Say it a little louder. Here is what I think you're saying:
>
> - Anonymous users can still open a versioned database connection
> (although now they can't use it)
>
> - Merely opening a versioned connection consumes resources
>
> - Zope does not free those resources as it should
>
> Can you confirm that's what you're seeing? Either we need to make Zope
> free the resources, or if that's not possible, we need a different
> strategy.
If I may also add something else, it might be a good idea to limit the
namespace where zope looks for a variable named "Zope-Version".
Both ZApplication.py and the patch look for this variable in the whole
REQUEST, (i.e. via request.get(...)). I'd propose to change that to
REQUEST.cookies.get(...). As it is, it violates the principle of least
surprise and is also a tad inconsistent, because the patch even assumes
that the "Zope-Version" variable came via a cookie (it tries to delete
said cookie).
This is not purely aesthetical reasoning, since cookies can be trusted a
bit more than other variables coming from the request. You can't inject
them from third party sites, for instance.
Limiting the lookup only to REQUEST.cookies would also make client side
trojan attacks a bit harder (not that you can't do much worse things
with these kinds of attacks).
cheers,
oliver