@@ -167,3 +167,31 @@ order by
167167 supabase_storage_admin | authenticator | f
168168(22 rows)
169169
170+ -- Check all privileges of non-superuser roles on functions
171+ select
172+ p.pronamespace::regnamespace as schema,
173+ p.proname as object_name,
174+ acl.grantee::regrole::text as grantee,
175+ acl.privilege_type
176+ from pg_catalog.pg_proc p
177+ cross join lateral pg_catalog.aclexplode(p.proacl) as acl
178+ where p.pronamespace::regnamespace::text = 'pg_catalog'
179+ and acl.grantee::regrole::text != 'supabase_admin'
180+ order by object_name, grantee, privilege_type;
181+ schema | object_name | grantee | privilege_type
182+ ------------+--------------------------------+-------------------+----------------
183+ pg_catalog | pg_current_logfile | pg_monitor | EXECUTE
184+ pg_catalog | pg_current_logfile | pg_monitor | EXECUTE
185+ pg_catalog | pg_get_backend_memory_contexts | pg_read_all_stats | EXECUTE
186+ pg_catalog | pg_get_shmem_allocations | pg_read_all_stats | EXECUTE
187+ pg_catalog | pg_ls_archive_statusdir | pg_monitor | EXECUTE
188+ pg_catalog | pg_ls_logdir | pg_monitor | EXECUTE
189+ pg_catalog | pg_ls_logicalmapdir | pg_monitor | EXECUTE
190+ pg_catalog | pg_ls_logicalsnapdir | pg_monitor | EXECUTE
191+ pg_catalog | pg_ls_replslotdir | pg_monitor | EXECUTE
192+ pg_catalog | pg_ls_tmpdir | pg_monitor | EXECUTE
193+ pg_catalog | pg_ls_tmpdir | pg_monitor | EXECUTE
194+ pg_catalog | pg_ls_waldir | pg_monitor | EXECUTE
195+ pg_catalog | pg_reload_conf | postgres | EXECUTE
196+ (13 rows)
197+
0 commit comments