[ 
http://jira.magnolia.info/browse/MAGNOLIA-2388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18099#action_18099
 ] 

Jan Haderka commented on MAGNOLIA-2388:
---------------------------------------

bq. if I add rights to read roles it doesn't mean I am adding the permission to 
modify users, isn't it?

True, but each user always had and still has rights to modify their own 
preferences.

bq. I don't think that granting each user a write permission to its own acls is 
something desired...

See my comment above, each user always had the permission to modify child nodes 
of themselves. If you check the core update task, we are adding just read 
permission to the node itself (so they can see their own user name for example) 
nothing more then that. The only reason why this worked before is because 
displaying the dialog was done with system user privileges, and we removed this 
now.

bq. well, I am pretty tired of getting harsh responses or seeing that most 
decisions are taken individually and not open to discussions... anyway: this is 
not the place to discuss this, sorry for the bad introduction
Agreed, I haven't tried to give harsh response here either, so sorry if it came 
out as one. :) It might be more useful to get such discussions going in the dev 
list or as Philipp mentioned while ago, we have scrum meeting every day at 2:30 
at irc://irc.freenode.net/magnolia-dev and hang around there for most of the 
day. It would be even better place to talk to avoid future misunderstanding and 
to see (and to influence) day to day development.

Now lets try to have a fresh start. I'll try to explain how it works now and 
why and we can take it from here.
prior 3.6.2:
* the security have been broken since the only protection from user assigning 
themselves more rights was the (implicitly) hidden dialog.
* to bring up that dialog when you wanted user to be able to change privileges, 
you had to do through extensive acl configuration to bring up 
security/admin/username menu for given user.

from 3.6.2 onwards:
* the dialog is exposed (this is new) so users can change their own privileges 
(by default, all except anonymous) (this right was always here).
* the above is configurable and where desirable, users can be taken away such 
privilege (by making their own node read only) and they will not be able to 
edit their own preferences any more (this haven't worked before 3.6.2 since the 
dialog involved used system privileges in case of groups and roles)
* the display and assignment of the groups and roles is controlled by users 
current rights in respect to roles and groups
  * if user has assigned given role/group user gets read right to this 
role/group via assignment.
  * user can (un)assign only roles/groups he/she has rights to read
  * assigning user explicitly read to whole userroles workspace is equivalent 
to assigning that user superuser role in respect to granting roles hence such 
user can assign any role (even to themselves). If you need user to be able to 
assign roles, but do not want such user to be able to assign privileges to 
themselves, you have to explicitly set acl_userroles of that given user to read 
only for that given user (again this is same as before 3.6.2)
  * user can not assign role to themselves without having rights to read that 
role (this is new in 3.6.2.) and without write permission to own acl_userroles 
(same as before 3.6.2)

The main focus of the change was to allow editing privileges, close the present 
security hole and to be backward compatible since this is a minor release.

I hope i managed to cover all unclear points in the above, if not, please 
shout. If you see any obvious hole in the above, please shout as well.

> Easy privilege escalation from user preferences
> -----------------------------------------------
>
>                 Key: MAGNOLIA-2388
>                 URL: http://jira.magnolia.info/browse/MAGNOLIA-2388
>             Project: Magnolia
>          Issue Type: Bug
>          Components: security
>    Affects Versions: 3.6.2
>            Reporter: Fabrizio Giustina
>            Assignee: Fabrizio Giustina
>            Priority: Blocker
>             Fix For: 3.6.2
>
>
> This is a leftover from MAGNOLIA-574 : since the task was closed ignoring my 
> comments and no other task is listed for 3.6.2 I am adding this as a separate 
> issue since IMHO magnolia 3.6.2 can't be released as is now...
> After the change in MAGNOLIA-574 and related now every user (at least with a 
> read only access to the user repository) can self-change its role to 
> superuser using the preference dialog linked to the user name.
> Just create a user with a editor role and readonly access to userroles: he 
> can just type "/superuser" in its preference dialog to gain full access.
> The are multiple issues/tasks associated to this:
> - user should not be have read/write permissions to the acls by default, this 
> should be strictly forbidden unless explicitely added by a superuser
> - the preference box dialog should not list group/roles (it makes no sense, 
> just name me another app where users have a similar thing in their preference 
> page!)
> - a bug in the bug: if the user enters a role he doesn't have read rights for 
> in the preference page the user node gets corrupted and can't be edited 
> anymore
> as previously discussed, IMHO a better solution would be allowing only 
> readonly access to own user node by default and using a custom save handler 
> for the preference page which allow editing of checked properties using a 
> system operation. User preferences should use obviously a different dialog 
> from the standard user edit dialog.
> Nobody else cares about this?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.magnolia.info/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

----------------------------------------------------------------
for list details see
http://documentation.magnolia.info/
----------------------------------------------------------------

Reply via email to