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: dev-unsubscribe lenya.apache.org
For additional commands, e-mail: dev-help lenya.apache.org
|