Richard Frovarp wrote:
Jörn Nettingsmeier wrote:
You are somewhat correct. It is a question of functionality. In my usage scenario, it makes sense to give a user the rights to change ac auth for their subtree, or allow them to change a node name or visibility of a node. Without the patch, I can't do that.

Let's say it is a documentation issue and we want to allow that functionality. I then allow reviewers the rights to those usecases. They can then go into ac auth, give themselves admin rights. Presto, they can get into the admin area.

So basically, we need the additional method to protect against this sort of thing so that the admin role can't be assigned via ac auth. Or we have to hack the code to make it so that ac auth, ac archive, ac trash only allow admins and no other roles. That would mean hacking the usecases admin interface to prevent this. I think this was a clean fix to a dirty security issue.

hmm, ok, thanks for explaining again. i'm getting a little more insight now. but i think the correct approach in the current situation is to graft on a custom usecase that does what you need done, and disallows privilege escalation [1]. i'm really uneasy with fundamental ac semantics changes in a hurry during code freeze.

The problem is the core code has no method of preventing privilege escalation. This is a severe fundamental vulnerability and it needs to be fixed before being released. So I would need to override the existing ac auth, ac archive, ac trash usecases to prevent the admin role from being assigned. And after all of that, only I am protected, provided I wrote my code good enough to block the core problem. What about the average user? It is currently trivial (without the patch) to take alice and make her admin due to how the default pub is shipped.

I agree it isn't good to have ac changes now. However, it's even worse to ship with this vulnerability.

i still don't really understand the problem. iiuc, you want to allow some of your users to access some usecases. of course, these usecases must not include any that allow privilege escalation. now all you need to do is introduce a new role "maintenance" or whatever, which is then granted access to whatever usecases you need. if this includes one that would allow privilege escalation, you will have to write a slightly modified usecase that avoids this problem.

won't that solve your issue?

i agree we could think about this some more and provide a generally useful solution, but only after it has been demonstrated to this bear of very little brain that there really is a general problem, and only after 2.0.

--
Jörn Nettingsmeier

"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to