On Wed, 2024-06-05 at 14:36 +0530, Ashutosh Sharma wrote: > Thank you, Ashutosh, for the quick response. I've drafted a patch > aimed at addressing this issue. The patch attempts to solve this > issue by configuring the search_path for all security definer > functions created by the extension.
I like the general direction you propose, but I think it needs more discussion about the details. * What exactly is the right search_path for a function defined in an extension? * Do we need a new magic search_path value of "$extension_schema" that resolves to the extension's schema, so that it can handle ALTER EXTENSION ... SET SCHEMA? * What do we do for functions that want the current behavior and how do we handle migration issues? * What about SECURITY INVOKER functions? Those can still be vulnerable to manipulation by the caller by setting search_path, which can cause an incorrect value to be returned. That can matter in some contexts like a CHECK constraint. Regards, Jeff Davis