Re: [patch] plproxy v2 - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [patch] plproxy v2
Date
Msg-id 17081.1216670854@sss.pgh.pa.us
Whole thread Raw
In response to [patch] plproxy v2  ("Marko Kreen" <markokr@gmail.com>)
Responses Re: [patch] plproxy v2  ("Marko Kreen" <markokr@gmail.com>)
List pgsql-hackers
"Marko Kreen" <markokr@gmail.com> writes:
> [ plproxy ]

I looked through this a bit, and my principal reaction was "what are
the security implications?"  It seems like it'd be very easy to create
functions that allow untrusted users to execute arbitrary SQL on
other databases in the plproxy cluster.  As far as I saw there was
no privilege-checking within plproxy itself, you were just relying
on SQL-level permissions checking --- so even though plproxy functions
can only be *created* by superusers, by default they can be *used* by
anybody.  So it'd take a great deal of care to avoid making
unintentional security holes.

I'm not sure about a good solution to this problem, but I think it needs
to be solved before plproxy can be recommended for widespread use.
The first thought that comes to mind is to somehow propagate the userid
on the calling server to the execution on the remote, so that a user
can't get more privilege on the remote than if he were executing there
directly.  I'm imagining that the definition of a cluster would include
a map from local to remote userids (and thereby imply that anyone not
explicitly listed can't do remote access at all).
        regards, tom lane


pgsql-hackers by date:

Previous
From: Robert Lor
Date:
Subject: Re: Review: DTrace probes (merged version)
Next
From: "David E. Wheeler"
Date:
Subject: Re: Do we really want to migrate plproxy and citext into PG core distribution?