You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update security restrictions to allow non-superuser extension installation (#572)
This updates a bunch of our security related code. For previous releases
we needed to be very careful with allowing arbitrary SQL code to be
executed in DuckDB because DuckDB queries could read all Postgres
tables. This is not the case anymore since #466 was merged, because now
any access to Postgres tables goes through the Postgres planner and
executor instead of custom code. Lots of code wasn't updated with that
new behaviour in mind though.
1. Allow running `duckdb.raw_query`, `duckdb.cache`,
`duckdb.cache_info`, `duckdb.cache_delete` and `duckdb.recycle_db` as
any user (with the duckdb role).
2. Allow running `duckdb.install_extension` as regular users, if
required permissions are explicitly granted. This is not allowed by
default for non-superusers because it's still considered a very high
privilege.
3. Disallow running queries on tables with RLS enabled in a different
place, so that it is checked for every Postgres table that DuckDB opens
(also when using `duckdb.query`/`duckdb.raw_query`).
4. Add `duckdb.allow_community_extensions` setting.
0 commit comments