mirror of
https://github.com/postgres/postgres.git
synced 2025-10-27 00:12:01 +03:00
Revert MAINTAIN privilege and pg_maintain predefined role.
This reverts the following commits:4dbdb82513,c2122aae63,5b1a879943,9e1e9d6560,ff9618e82a,60684dd834,4441fc704d, andb5d6382496. 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
This commit is contained in:
@@ -284,7 +284,7 @@ LockTableAclCheck(Oid reloid, LOCKMODE lockmode, Oid userid)
|
||||
AclMode aclmask;
|
||||
|
||||
/* any of these privileges permit any lock mode */
|
||||
aclmask = ACL_MAINTAIN | ACL_UPDATE | ACL_DELETE | ACL_TRUNCATE;
|
||||
aclmask = ACL_UPDATE | ACL_DELETE | ACL_TRUNCATE;
|
||||
|
||||
/* SELECT privileges also permit ACCESS SHARE and below */
|
||||
if (lockmode <= AccessShareLock)
|
||||
|
||||
Reference in New Issue
Block a user