[Zope] Security Problem
george donnelly
list@zettai.net
Sat, 29 Mar 2003 18:35:53 -0500
[Dylan Reinhardt wrote (zope@dylanreinhardt.com) on 3/26/03 2:33 PM]
> On Thu, 2003-03-27 at 01:39, jamesd@mena.org.au wrote:
>> If I log in to plone2 as the user Demo, then go to the following url:
>> http://my.server/plone2/plone1
>> The permissions are acquired from the demo site giving full Manager access
>> to my main plone site. This is obviously a serious problem.
>
> Yep. This is a huge vulnerability in certain configurations.
>
> But the *real* problem is not that plone1 methods can be applied to
> plone2 objects. That is a feature, not a bug. :-)
(butting into this thread late)
right, this is aquisition. if you have index_html in the same folder as
standard_html_footer and do <dtml-var standard_html_footer> in your
index_html, it pulls that one and not one above. Same idea with folders,
right?
> Rather, the problem is that you have implicitly *permitted* this to take
> place by using common roles across sites. I suspect that you're hardly
> alone in setting up your site this way. In fact, I was auditing one of
> my own sites and stumbled across a variant of this technique that
> allowed arbitrary access to virtually any object on the server. Yikes!
I'm not so sure its because of this...
> I'm working on a howto for this concern... but in the interim, I'd
> strongly recommend taking three steps to secure *any* multi-user,
> multi-host Zope app:
>
> 1. Reserve the Manager role for server administration only. Just as
> importantly, don't *ever* assign a Manager proxy role unless you are
> certain you've worked out all the implications of that method being
> applied to arbitrary objects.
>
> 2. Use different roles for different groups of users. Create
> site-specific, function-specific roles like site1_admin, site2_admin,
> site1_user, etc. Use server-wide roles sparingly and define them
> narrowly (send_mail, add_user, etc).
I tested this out and found it did not work. I had two folders (folder1,
folder2) side by side in the same container (folder). I gave a user in
folder1 the role X_admin, which role had all the same perms as manager. this
is the only role this user had. this user was still able to call
folder1/folder2 and do what he liked in folder2.
> 3. Disable/restrict "view folder contents" permissions for all folders
> that are parents of your site root folders. Leaving that permission
> turned on for Anonymous (the default) allows virtually anyone to obtain
> details about your server setup that are quite handy for setting up
> cross-site scripting exploits. It's shockingly easy to do this and
> there are few (if any) reasons why you'd want that feature enabled for
> parents of your site roots anyway.
I don't see this permission anywhere... Do you mean "Access contents
information" ?
I would add that turning off WebDAV access for anonymous users is a good
idea.
<-->
george donnelly - http://www.zettai.net/ - "We Love Newbies" :)
Zope Hosting - Dynamic Website Design - Search Engine Promotion
Yahoo, AIM: zettainet - MSN: zettainet@hotmail.com - ICQ: 51907738