| From: | Magnus Hagander <magnus(at)hagander(dot)net> |
|---|---|
| To: | Andres Freund <andres(at)2ndquadrant(dot)com> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Anton <antonin(dot)houska(at)gmail(dot)com> |
| Subject: | Re: Assertion failure in base backup code path |
| Date: | 2014-01-07 16:40:07 |
| Message-ID: | CABUevEwV6O+C5JoWFJFsgU7aBOZpnmnf3D3BW4TvwUYWScx=ZQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Tue, Dec 24, 2013 at 1:24 PM, Andres Freund <andres(at)2ndquadrant(dot)com>wrote:
> On 2013-12-23 18:28:51 +0100, Magnus Hagander wrote:
> > On Dec 19, 2013 12:06 AM, "Andres Freund" <andres(at)2ndquadrant(dot)com>
> wrote:
> > >
> > > Hi Magnus,
> > >
> > > It looks to me like the path to do_pg_start_backup() outside of a
> > > transaction context comes from your initial commit of the base backup
> > > facility.
> > > The problem is that you're not allowed to do anything leading to a
> > > syscache/catcache lookup in those contexts.
> >
> > I think that may have come with the addition of the replication privilege
> > actually but that doesn't change the fact that yes, it appears broken..
>
> There was a if (!superuser()) check there before as well, that has the
> same dangers.
>
>
I think the correct fix is to move the security check outside of
do_pg_start_backup() and leave it to the caller. That means
pg_start_backup() for a manual backup. And for a streaming base backup the
check has already been made - you can't get through the authentication step
if you don't have the required permissions.
Does the attached seem right to you?
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
| Attachment | Content-Type | Size |
|---|---|---|
| basebackup_permissions.patch | text/x-patch | 2.9 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2014-01-07 16:43:18 | Re: extra_float_digits and casting from real to numeric |
| Previous Message | Andres Freund | 2014-01-07 16:37:47 | Re: generic pseudotype IO functions? |