Tom Lane wrote:

Andrew Dunstan <[EMAIL PROTECTED]> writes:
It could be argued that there should be provision for a limitation on the locations in which COPY can write (and maybe read) files. If COPY is a security hole then we should close it, not use that as precedent to open another hole.

Yeah.  It's worth pointing out in this connection that server-side
COPY is already pretty well crippled if you are running under SELinux,
because the security policy constrains what parts of the filesystem
the daemon can reach at all.  I've already been thinking seriously
of proposing that the regression tests be converted to use only
\copy and not COPY, because it's difficult to run them against an
installed server on Fedora 4, and it may be impossible in the near
future.



That also occurred to me. I have taken to turning off SELinux altogether but some day I'm going to have to stop that.

How about if we do something like this?:

. initdb creates a tmpdir inside the datadir
. a new GUC var called allowed_copy_locations which is a PATH type string specifying what directories we can copy to/from. This would by default be "$tmpdir"
. in addition to an absolute path, a copy path could begin with $tmpdir
. explicitly setting the GUC to "*" would allow any absolute location as now (having this not the default means admins would have to turn it on deliberately, which would be a Good Thing (tm)).

possible extra:
. another GUC var to specify an alternative location for $tmpdir.

cheers

andrew

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

              http://archives.postgresql.org

Reply via email to