Re: allowing privileges on untrusted languages - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: allowing privileges on untrusted languages
Date
Msg-id 5153551D.60403@gmx.net
Whole thread Raw
In response to Re: allowing privileges on untrusted languages  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 1/11/13 10:25 AM, Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
>> It turned out that actually getting rid of lanpltrusted would be too
>> invasive, especially because some language handlers use it to determine
>> their own behavior.
> 
>> So instead the lanpltrusted attribute now just determined what the
>> default privileges of the language are, and all the checks the require
>> superuserness to do anything with untrusted languages are removed.
> 
> Hmm ... that worries me a bit.  It seems like system security will now
> require being sure that the permissions on the language match the
> lanpltrusted setting.  Even if the code is right today, there's a lot
> of scope for future oversights with security implications.  Don't know
> what we could do to mitigate that.

I think altogether this patch does not introduce any more reasons "to be
careful" then any other security-related patch.  The ACL stuff is
already spread out over too many places, and you could argue that this
patch reduces some of that surface area.

> In particular, have you thought carefully about upgrade scenarios?
> Will a dump-and-restore of a pre-9.3 installation end up with safe
> language privileges?

Untrusted languages in pre-9.3 installations cannot have any privileges,
because GRANT denies that.  If you grant some anyway (e.g., set the
trusted bit, grant, re-remove trusted bit), then, well, you get what you
asked for, expect now it actually works.

> In the same vein, I'm worried that the proposed change in pg_dump will
> do the wrong thing when looking at a pre-9.3 server.  Is any
> server-version-dependent behavior needed there?

That shouldn't be a problem for the same reasons.

What might actually be a problem in this area is that, AFAICT, pg_dump
does not save privileges granted to objects in extensions.



pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: spoonbill vs. -HEAD
Next
From: Peter Eisentraut
Date:
Subject: Re: allowing privileges on untrusted languages