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]