wrong permissions for triggers invoked by rewrite rules - Mailing list pgsql-bugs

From pgsql-bugs@postgresql.org
Subject wrong permissions for triggers invoked by rewrite rules
Date
Msg-id 200008251348.e7PDmrN49571@hub.org
Whole thread Raw
List pgsql-bugs
Helge Bahmann (bahmann@math.tu-freiberg.de) reports a bug with a severity of 2
The lower the number the more severe it is.

Short Description
wrong permissions for triggers invoked by rewrite rules

Long Description
Rewritten queries are normally executed with the permissions of the creator of the rewrite rule. However, triggers
invokedby the rewritten query are not executed with the new permissions. 

Sample Code
-- as user 'user1':
create table table1(id int);
create table table2(id int);
create function foo() returns opaque as 'begin
  insert into table2 values(new.id);
  return new;
end;' language 'plpgsql';
create trigger bar before insert on table2 for each row execute procedure foo();
create view view1 as select * from table1;
create rule view1_ins as on insert to view1 do instead insert into table1 values(new.id);
grant insert, select on view1 to user2;
-- as user 'user2':
insert into view1 values(1);
-- fails with: ERROR:  table2: Permission denied.

No file was uploaded with this report

pgsql-bugs by date:

Previous
From: pgsql-bugs@postgresql.org
Date:
Subject: Invalid PG_PWD
Next
From: pgsql-bugs@postgresql.org
Date:
Subject: duplicated rows on update when client dies