Re: import/export of large objects on server-side

From: Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>
To: Klaus Reger <K(dot)Reger(at)twc(dot)de>
Cc: tgl(at)sss(dot)pgh(dot)pa(dot)us, pgsql-hackers(at)postgresql(dot)org
Subject: Re: import/export of large objects on server-side
Date: 2001-11-20 08:45:31
Message-ID: 20011120094531.B15164@zf.jcu.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Nov 16, 2001 at 05:02:13PM +0100, Klaus Reger wrote:
> > "Klaus Reger" <K(dot)Reger(at)twc(dot)de> writes:
> >> I've made a patch, that introduces an entry in the PostgreSQL-config
> >> file. You can set a drirectory, where all imports/exports can happen.
> >> If nothing is set (the default), no imports/exports on the server-side
> >> are allowed. To enhance the security, no reading/writung is allowed
> >> from/to non-regular files (block-devs, symlinks, etc.)
> >
> > This is trivially defeatable, assuming that the "import/export"
> > directory is world writable (if it isn't, importing will be tough).
>
> ...
> > While you could patch around these particular attacks by further
> > restricting the filenames, the bottom line is that server-side LO
> > operations are just inherently insecure.
> >
> > regards, tom lane
>
> Ok, you're right, but is it acceptable, to configure this, using the
> configfile, rather than with a compile-option?

You can always use client-site LO operations without this restriction.
IMHO server-site LO operations is needless and a little dirty feature.

May by add to our privilege system support for LO operations too. But
our current privilege system is very inflexible for changes1...

Karel

--
Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>
http://home.zf.jcu.cz/~zakkr/

C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Karel Zak 2001-11-20 09:12:25 Re: OCTET_LENGTH is wrong
Previous Message Hannu Krosing 2001-11-20 07:31:19 Re: TOAST performance (was Re: [GENERAL] Delete