@@ -174,5 +174,33 @@ order by
174174 supabase_storage_admin | authenticator | f
175175(22 rows)
176176
177+ -- Check all privileges of non-superuser roles on functions
178+ select
179+ p.pronamespace::regnamespace as schema,
180+ p.proname as object_name,
181+ acl.grantee::regrole::text as grantee,
182+ acl.privilege_type
183+ from pg_catalog.pg_proc p
184+ cross join lateral pg_catalog.aclexplode(p.proacl) as acl
185+ where p.pronamespace::regnamespace::text = 'pg_catalog'
186+ and acl.grantee::regrole::text != 'supabase_admin'
187+ order by object_name, grantee, privilege_type;
188+ schema | object_name | grantee | privilege_type
189+ ------------+--------------------------------+-------------------+----------------
190+ pg_catalog | pg_current_logfile | pg_monitor | EXECUTE
191+ pg_catalog | pg_current_logfile | pg_monitor | EXECUTE
192+ pg_catalog | pg_get_backend_memory_contexts | pg_read_all_stats | EXECUTE
193+ pg_catalog | pg_get_shmem_allocations | pg_read_all_stats | EXECUTE
194+ pg_catalog | pg_ls_archive_statusdir | pg_monitor | EXECUTE
195+ pg_catalog | pg_ls_logdir | pg_monitor | EXECUTE
196+ pg_catalog | pg_ls_logicalmapdir | pg_monitor | EXECUTE
197+ pg_catalog | pg_ls_logicalsnapdir | pg_monitor | EXECUTE
198+ pg_catalog | pg_ls_replslotdir | pg_monitor | EXECUTE
199+ pg_catalog | pg_ls_tmpdir | pg_monitor | EXECUTE
200+ pg_catalog | pg_ls_tmpdir | pg_monitor | EXECUTE
201+ pg_catalog | pg_ls_waldir | pg_monitor | EXECUTE
202+ pg_catalog | pg_reload_conf | postgres | EXECUTE
203+ (13 rows)
204+
177205-- Rollback to clean up pg_tle extension
178- ROLLBACK;
206+ ROLLBACK;
0 commit comments