Re: Converting contrib SQL functions to new style
Tom Lane <tgl@sss.pgh.pa.us>
Robert Haas <robertmhaas@gmail.com> writes: > On Wed, Apr 14, 2021 at 10:49 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> The situation of interest is where you are trying to install an extension >> into a schema that also contains malicious objects. We've managed to make >> most of the commands you might use in an extension script secure against >> that situation, and Noah wants to hold SQL-function creation to that same >> standard. > Oh, I was forgetting that the creation schema has to be first in your > search path. :-( > Does the idea of allowing the creation schema to be set separately > have any legs? Because it seems like that would help here. Doesn't help that much, because you still have to reference objects already created by your own extension, so it's hard to see how the target schema won't need to be in the path. [ thinks for awhile ... ] Could we hack things so that extension scripts are only allowed to reference objects created (a) by the system, (b) earlier in the same script, or (c) owned by one of the declared prerequisite extensions? Seems like that might provide a pretty bulletproof defense against trojan-horse objects, though I'm not sure how much of a pain it'd be to implement. regards, tom lane
Commits
-
Use @extschema:name@ notation in contrib transform modules.
- bebe9040388b 18.0 landed
-
pg_freespacemap: Fix declaration of pg_freespace(regclass)
- e0c3d5122e6a 18.0 landed
-
contrib/pageinspect: Use SQL-standard function bodies.
- 68ff25eef125 18.0 landed
-
contrib/xml2: Use SQL-standard function bodies.
- 667368fd26de 18.0 landed
-
contrib/citext: Use SQL-standard function bodies.
- 97a5a16849eb 18.0 landed
-
contrib/earthdistance: Use SQL-standard function bodies.
- 969bbd0fafc0 18.0 landed
- 3652de36e432 17.3 landed
- 31daa10facec 16.7 landed
-
contrib/lo: Use SQL-standard function bodies
- 13e3796c906b 18.0 landed
-
xml2: Add tests for functions xpath_nodeset() and xpath_list()
- 93f9b4a93fef 18.0 landed
-
contrib/lo: Add test for function lo_oid()
- 3ef038fc4f76 18.0 landed
-
pg_freespacemap: Use SQL-standard function bodies
- 3f323eba89fb 18.0 landed
-
Add @extschema:name@ and no_relocate options to extensions.
- 72a5b1fc8804 16.0 cited
-
Make contrib modules' installation scripts more secure.
- 7eeb1d9861b0 14.0 cited