postgres.git / summary / log / commit / refs

commit    665bf40a132a857f1790de2aebffb14f85da7b6a
Author:   Robert Haas <rhaas@postgresql.org>
Date:     Mon Jul 20 17:36:39 2026 +0000

    doc: Granting TRIGGER or REFERENCES on table is dangerous.
    
    It's always been the case that granting these privileges to users that
    you don't fully trust was a bad idea, but it hasn't always been
    obvious to people reading the documentation that this is the case.
    To prevent confusion, and also repeated reports to pgsql-security,
    mention it explicitly.
    
    Discussion: http://postgr.es/m/CA+TgmobrjCHBuWHrvX3=2vndUCO2thUOdevrCcMDFW86cqCYvw@mail.gmail.com
    Reviewed-by: Nathan Bossart <nathandbossart@gmail.com>
    Backpatch-through: 14


doc/src/sgml/ddl.sgml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index 915ea10a860..7e1a8e0af52 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -1779,7 +1779,11 @@ REVOKE ALL ON accounts FROM PUBLIC; <listitem> <para> Allows creation of a foreign key constraint referencing a - table, or specific column(s) of a table. + table, or specific column(s) of a table. Great care should be taken when + granting this privilege, since a user who creates a foreign key can arrange + for enforcement of that foreign key to call an arbitrary function, such as + a cast function, and such functions will be called with the privileges of + the table owner. </para> </listitem> </varlistentry> @@ -1788,7 +1792,9 @@ REVOKE ALL ON accounts FROM PUBLIC; <term><literal>TRIGGER</literal></term> <listitem> <para> - Allows creation of a trigger on a table, view, etc. + Allows creation of a trigger on a table, view, etc. Great care should be + taken when granting this privilege, since any triggers added to a table + or view will be executed with the privileges of users who modify it. </para> </listitem> </varlistentry> [parent: e4ad22eb02f0]