aboutsummaryrefslogtreecommitdiff
path: root/src/include/utils/acl.h
diff options
context:
space:
mode:
authorNathan Bossart <nathan@postgresql.org>2023-07-07 11:25:23 -0700
committerNathan Bossart <nathan@postgresql.org>2023-07-07 11:25:23 -0700
commit957445996fda2d6939a8748f2a19c10b15941c5e (patch)
tree21d4de4335a369465a02bee0dc4b3d95225eeac2 /src/include/utils/acl.h
parent1124cb2cf2ebc1b0adb9c5289e53ffe094ce3206 (diff)
downloadpostgresql-957445996fda2d6939a8748f2a19c10b15941c5e.tar.gz
postgresql-957445996fda2d6939a8748f2a19c10b15941c5e.zip
Revert MAINTAIN privilege and pg_maintain predefined role.
This reverts the following commits: 4dbdb82513, c2122aae63, 5b1a879943, 9e1e9d6560, ff9618e82a, 60684dd834, 4441fc704d, and b5d6382496. A role with the MAINTAIN privilege may be able to use search_path tricks to escalate privileges to the table owner. Unfortunately, it is too late in the v16 development cycle to apply the proposed fix, i.e., restricting search_path when running maintenance commands. Bumps catversion. Reviewed-by: Jeff Davis Discussion: https://postgr.es/m/E1q7j7Y-000z1H-Hr%40gemulon.postgresql.org Backpatch-through: 16
Diffstat (limited to 'src/include/utils/acl.h')
-rw-r--r--src/include/utils/acl.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/include/utils/acl.h b/src/include/utils/acl.h
index f8e1238fa2c..aba1afa971c 100644
--- a/src/include/utils/acl.h
+++ b/src/include/utils/acl.h
@@ -148,16 +148,15 @@ typedef struct ArrayType Acl;
#define ACL_CONNECT_CHR 'c'
#define ACL_SET_CHR 's'
#define ACL_ALTER_SYSTEM_CHR 'A'
-#define ACL_MAINTAIN_CHR 'm'
/* string holding all privilege code chars, in order by bitmask position */
-#define ACL_ALL_RIGHTS_STR "arwdDxtXUCTcsAm"
+#define ACL_ALL_RIGHTS_STR "arwdDxtXUCTcsA"
/*
* Bitmasks defining "all rights" for each supported object type
*/
#define ACL_ALL_RIGHTS_COLUMN (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_REFERENCES)
-#define ACL_ALL_RIGHTS_RELATION (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_TRUNCATE|ACL_REFERENCES|ACL_TRIGGER|ACL_MAINTAIN)
+#define ACL_ALL_RIGHTS_RELATION (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_TRUNCATE|ACL_REFERENCES|ACL_TRIGGER)
#define ACL_ALL_RIGHTS_SEQUENCE (ACL_USAGE|ACL_SELECT|ACL_UPDATE)
#define ACL_ALL_RIGHTS_DATABASE (ACL_CREATE|ACL_CREATE_TEMP|ACL_CONNECT)
#define ACL_ALL_RIGHTS_FDW (ACL_USAGE)