Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

permission_settings only shows local and inherited roles, even though others might be set #79

Open
viktordick opened this issue Mar 4, 2019 · 0 comments
Projects

Comments

@viktordick
Copy link
Contributor

viktordick commented Mar 4, 2019

When digging a bit deeper into the inner workings of Zope, I found this discrepancy which at least to me seems to be actually security relevant: The list of roles which have a specific permission set for an object is stored in the object itself, but its permission_settings() frontend (and therefore the manage_access-page) filters these down to those that are defined locally or in any of the objects obtained by the current acquisition context.
The consequence is that sometimes a role might have permission to do something, but an inspection of manage_access will not reveal that this is the case.
This situation can be reproduced by different means like removing a local role somewhere in an object above, copying an object somewhere else where a local role is not defined or importing an object in zexp format.
I tested this by giving a role named simple which was defined at top level View permission to an object further down (and only to that role and Manager). Then I removed the locally defined role at top level, but a user having only this role still had View permission, even though this was not obvious by looking at manage_access.
Btw, opening manage_access once and saving cleans such additional roles, but it can still happen too easily that such unintended permissions are set. I guess the solution must be a complete change in manage_access and its backend permission_settings.

@icemac icemac added this to To do in Zope 4 final release via automation Mar 6, 2019
@icemac icemac removed this from To do in Zope 4 final release May 13, 2019
@icemac icemac added this to To do in Zope 5.0 via automation May 13, 2019
@icemac icemac removed this from To do in Zope 5.0 Sep 28, 2020
@icemac icemac added this to To do in Zope 5 via automation Sep 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Zope 5
  
To do
Development

No branches or pull requests

2 participants