From: | Mike Mascari <mascarm(at)mascari(dot)com> |
---|---|
To: | Neil Conway <neilc(at)samurai(dot)com> |
Cc: | Andrew Sullivan <ajs(at)crankycanuck(dot)ca>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: pl/pgsql enabled by default |
Date: | 2005-05-08 02:20:55 |
Message-ID: | 427D7787.90507@mascari.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Neil Conway wrote:
> Mike Mascari wrote:
>
>> People who use views to achieve row security, which is a rather common
>> paradigm, cannot allow users to create functions with side effects.
>
>
> Can you elaborate? I'm not sure I follow you.
>
> (I'll note anyway that (1) SQL functions can have side effects: CREATE
> FUNCTION foo() RETURNS VOID AS 'DELETE FROM ...', for example
Wow. That's a problem IMHO. Many people use views to allow userA to
query his salary without seeing userB's. If userA can just:
1. Create a SQL function which inserts into another table its arguments
2. Issue a query like:
SELECT *
FROM view_of_salaries_based_on_current_user
WHERE my_side_effect_function_that_inserts_into_a_temp_table(salary,
employee);
and that function is writable with just 'SQL', then many, many people
have a serious security risk on their hands. Perhaps this is why
Oracle's standard UDFs cannot perform inserts, updates, or deletes.
Mike Mascari
From | Date | Subject | |
---|---|---|---|
Next Message | Tatsuo Ishii | 2005-05-08 02:31:49 | Re: Race conditions, race conditions! |
Previous Message | Neil Conway | 2005-05-08 02:05:57 | Re: pl/pgsql enabled by default |