[ 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/ ----------------------------------------------------------------