AW: AW: AW: [PATCH] Re: Setuid functions - Mailing list pgsql-hackers

From Zeugswetter Andreas SB
Subject AW: AW: AW: [PATCH] Re: Setuid functions
Date
Msg-id 11C1E6749A55D411A9670001FA687963368349@sdexcsrv1.f000.d0188.sd.spardat.at
Whole thread Raw
Responses Re: AW: AW: AW: [PATCH] Re: Setuid functions  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
> > I am not sure whether the feature does not actually present a security 
> > hole ? Two collaborating users can pass each other their privileges.
> 
> I don't see any (new) security risk here.  Code written by one user can
> be executed with the privileges of another --- so what?  That's the
> situation now, with non-setuid functions.

Hmm? A non-setuid function can execute code written by another user,
but is only allowed to do things the "invoker" has privileges for.
Thus it is a convenience, but does not allow the invoker to do anything
he could not type himself.
Not so with setuid functions, that is exactly why they are handy.
Without making the "definer" need an additional grant for creating such 
a function, it would be like giving him all the privs he has 
"with grant option".

> 
> > And why not use the existing "set session authorization ..." syntax?
> 
> That syntax implies setting authorization permanently (for the rest of
> the session).  If we take over that syntax to mean local privilege
> change inside a function, then it'd be impossible to let a function do a
> global change in the future.  Not sure if we ever want that, but I don't
> think we should foreclose the possibility by using the same syntax to
> mean two different things.

Yes, I was not sure about the intended standards scope of a "set session auth..." 
when called inside a function.

Andreas


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: AW: AW: AW: [PATCH] Re: Setuid functions
Next
From: "Joe Conway"
Date:
Subject: Fw: AW: Re: [SQL] behavior of ' = NULL' vs. MySQL vs. Stand ards