Re: Blocking execution of SECURITY INVOKER

Поиск
Список
Период
Сортировка
От Jeff Davis
Тема Re: Blocking execution of SECURITY INVOKER
Дата
Msg-id 17762d035b912884537440a1ef3d04ce3f4c4c16.camel@j-davis.com
обсуждение исходный текст
Ответ на Re: Blocking execution of SECURITY INVOKER  (Andres Freund <andres@anarazel.de>)
Ответы Re: Blocking execution of SECURITY INVOKER
Список pgsql-hackers
On Fri, 2023-01-13 at 00:16 -0800, Andres Freund wrote:

> Just think of set_config(), pg_read_file(), lo_create(),
> binary_upgrade_*(),
> pg_drop_replication_slot()...

Thank you for walking through the details here. I missed it from your
first example because it was an extreme case -- a superuser writing an
eval() security definer function -- so the answer was to lock such a
dangerous function away. But more mild cases are the real problem,
because there's a lot of stuff in pg_catalog.*.

> If the default values get evaluated, this is arbitrary code exec,
> even if it
> requires a few contortions. And the same is true for evaluating *any*
> expression.

Right.

However, the normal use case for expressions (whether in a default
expression or check constraint or whatever) is very simple and doesn't
even involve table access. There must be a way to satisfy those simple
cases without opening up a vast attack surface area, and if we do, then
I think my proposal might look useful again.


--
Jeff Davis
PostgreSQL Contributor Team - AWS





В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Add the ability to limit the amount of memory that can be allocated to backends.
Следующее
От: Andrey Borodin
Дата:
Сообщение: Re: Transaction timeout