[Zope-dev] Re: I want to fix App.Management.Tabs.manage_workspace

Chris Withers chris at simplistix.co.uk
Tue Apr 20 10:06:31 EDT 2004


Casey Duncan wrote:
>>1. manage_workspace is only protected by the Authenticated role, and
>>that is done directly, not even through a permission.
> 
> 
> I think that is probably because this method is an abstraction for the
> default managment screen. It does not know what the correct permission
> is, but assumes you at least must be logged in to see any management
> screen.
> 
> What are you suggesting to do about this?

My current thinking is "I don't know" ;-) I'm hoping discussion here can firm 
that up a bit...

>>2. self.filtered_manage_roles then limits the options of what can be
>>shown, which might end up being nothing. But, because the method is
>>only protected by 'Authenticated', no chance is given to specify other
>>user credentials (say, from a user folder higher up in the tree) which
>>might be able to see something.
> 
> Can you give a concrete use case for what you describe?

See below...

>>3. There's a bare try/except which masks errors. From what I can see,
>>it should ONLY catch IndexError's.
> 
> Yep, bare excepts == bad. Kill it.

Will do :-)

>>5. The Unauthorized could raise a more helpful message "You are not
>>authorized to view an of this object's management itnerface"
> 
> -0, I think it may be better to say nothing which discloses less
> information to would-be attackers. Perhaps VerboseSecurity might be able
> to elaborate, I dunno.

I don't understand VerboseSecurity enough to make this happen. Since the error 
message is already different from a "real" auth error, I'd say that 
vulnerability is already there, and so making it more informative to people it 
might help is not going to make Zope less secure...

>>The semantics I want are: "Show the 1st management tab the user is
>>allowed to see, if they're not allowed to see anything, check if a
>>user of the same name further up the userfolder tree can see anything"
> 
> Why? Is this consistent with behavior elsewhere? 

It's consistent with how Zope userfolders work, yes...

> Are you concerned that
> lower user folders could lock out global managers by creating
> non-privileged users with the same name locally?

Exactly. And since I did this to myself only to spend a morning going "huh?", I 
figure this code is not quite right...

> 2.7 and the HEAD are likely suspects for bug fixes. I doubt there will
> be another 2.6 release.

Righty, so, now just to figure out what to do...

Chris

PS: Are there any unit test for this? har har har har...

-- 
Simplistix - Content Management, Zope & Python Consulting
            - http://www.simplistix.co.uk




More information about the Zope-Dev mailing list