Re: CVE-2019-9193 about COPY FROM/TO PROGRAM - Mailing list pgsql-general

From Jonathan S. Katz
Subject Re: CVE-2019-9193 about COPY FROM/TO PROGRAM
Date
Msg-id 6630e8e9-e2a5-fb01-8f00-b8faac502007@postgresql.org
Whole thread Raw
In response to Re: CVE-2019-9193 about COPY FROM/TO PROGRAM  (Magnus Hagander <magnus@hagander.net>)
List pgsql-general
On 4/2/19 2:08 PM, Magnus Hagander wrote:
> On Tue, Apr 2, 2019 at 5:31 PM Andres Freund <andres@anarazel.de
> <mailto:andres@anarazel.de>> wrote:
>
>     Hi,
>
>     On 2019-04-02 07:35:02 -0500, Brad Nicholson wrote:
>     > Michael Paquier <michael@paquier.xyz <mailto:michael@paquier.xyz>>
>     wrote on 04/02/2019 01:05:01 AM:
>     >
>     > > From: Michael Paquier <michael@paquier.xyz
>     <mailto:michael@paquier.xyz>>
>     > > To: "Jonathan S. Katz" <jkatz@postgresql.org
>     <mailto:jkatz@postgresql.org>>
>     > > Cc: Tom Lane <tgl@sss.pgh.pa.us <mailto:tgl@sss.pgh.pa.us>>,
>     Magnus Hagander
>     > > <magnus@hagander.net <mailto:magnus@hagander.net>>, Daniel
>     Verite <daniel@manitou-mail.org <mailto:daniel@manitou-mail.org>>,
>     > > pgsql-general <pgsql-general@lists.postgresql.org
>     <mailto:pgsql-general@lists.postgresql.org>>
>     > > Date: 04/02/2019 01:05 AM
>     > > Subject: Re: CVE-2019-9193 about COPY FROM/TO PROGRAM
>     > >
>     > > On Mon, Apr 01, 2019 at 10:04:32AM -0400, Jonathan S. Katz wrote:
>     > > > +1, though I’d want to see if people get noisier about it
>     before we
>     > rule
>     > > > out an official response.
>     > > >
>     > > > A blog post from a reputable author who can speak to security
>     should
>     > > > be good enough and we can make noise through our various channels.
>     > >
>     > > Need a hand?  Not sure if I am reputable enough though :)
>     > >
>     > > By the way, it could be the occasion to consider an official
>     > > PostgreSQL blog on the main website.  News are not really a model
>     > > adapted for problem analysis and for entering into technical
>     details.
>     >
>     > A blog post would be nice, but it seems to me have something about
>     this
>     > clearly in the manual would be best, assuming it's not there
>     already.  I
>     > took a quick look, and couldn't find anything.
>
>     https://www.postgresql.org/docs/devel/sql-copy.html
>
>     "Note that the command is invoked by the shell, so if you need to pass
>     any arguments to shell command that come from an untrusted source, you
>     must be careful to strip or escape any special characters that might
>     have a special meaning for the shell. For security reasons, it is best
>     to use a fixed command string, or at least avoid passing any user input
>     in it."
>
>     "Similarly, the command specified with PROGRAM is executed directly by
>     the server, not by the client application, must be executable by the
>     PostgreSQL user. COPY naming a file or command is only allowed to
>     database superusers or users who are granted one of the default roles
>     pg_read_server_files, pg_write_server_files, or
>     pg_execute_server_program, since it allows reading or writing any file
>     or running a program that the server has privileges to access."
>
>     Those seem reasonable to me?
>
>
> Agreed, that part can't really be much clearer.
>
> But perhaps we should add a warning box
> to https://www.postgresql.org/docs/11/sql-createrole.html that basically
> says "creating a superuser means they can x, y and z"?

Yeah, I think that's the path forward -- make it much clearer by putting
it in the warning box and just re-stating that this is what it means.

Jonathan


Attachment

pgsql-general by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: CVE-2019-9193 about COPY FROM/TO PROGRAM
Next
From: "Eric J. Van der Velden"
Date:
Subject: max_prepared_foreign_transactions is unrecognized