Search Postgresql Archives

Re: Rationale for PUBLIC having CREATE and USAGE privileges on the schema "public" by default

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Okay, in other words, there's no way to completely defend oneself from DoS attacks which require having a session? If so, is there a scenario where some bad actor can create a new user for themselves (to connect to the database with), and not be able to do anything more damaging than that? For example, if I can do an SQL injection, then I can do something more clever than running a CREATE ROLE. And if not, then there's no point in worrying about privileges in a single-tenant database? Beyond human error safeguards.

Olegs

On Sat, Feb 17, 2018 at 10:08 PM, David G. Johnston <david.g.johnston@xxxxxxxxx> wrote:
On Saturday, February 17, 2018, Olegs Jeremejevs <olegs@xxxxxxxxxxxxxx> wrote:
Thanks for the reply.

I'm not sure whether you are really being limited/forced here or if you are thinking that having CREATE and USAGE on a schema is more powerful than it is...

As far as I know, having these permissions has a DoS potential, though, admittedly, negligible, if the rest of the database is secured properly. Just wanted to play safe and revoke them.

To an extent it is possible to DoS so long as you have a session and access to pg_catalog.  Having create and usage on public doesn't meaningfully (if at all) expand the risk surface area.  Default also provides for creating temporary tables.

David J.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux