pá 13. 5. 2022 v 5:42 odesílatel Bryn Llewellyn <b...@yugabyte.com> napsal:

> *david.g.johns...@gmail.com <david.g.johns...@gmail.com> wrote:*
>
> *b...@yugabyte.com <b...@yugabyte.com> wrote:*
>
> However, the design decision that, way back when, leads to this outcome
> does surprise me. The principle of least privilege insists that (in the
> database regime) you can create users that can do exactly and only what
> they need to do. This implies that my "client" should not be able to list
> all the objects in the database (and all the users in the cluster).
>
>
> If there was any motivation to improve PostgreSQL on this front I'd like
> them to start with "routine bodies" being hidden away from inspection. I'm
> much less concerned about pg_class or even knowing the names of things.
>
> This has been discussed a number of times, probably every few years or so.
> My quick search failed to find any relevant links/threads in the archives,
> though I didn't try that hard.
>
>
> Thanks (again) David. Yes, there is an argument that when app developers
> know that hackers can read every minute detail of their implementation
> (but, with a sound user/schema/privileges discipline cannot change any of
> this), it cautions them to be extra scrupulous. SQL injection is maybe a
> good example. It's probably easier and quicker to scan PL/pgSQL source code
> looking for obvious patterns (like "any use of dynamic SQL?", "If yes, any
> concatenation of literals into the to-be-executed statement?", and so on)
> than it is to send robotically generated values via browser-UI screens in
> the hope of provoking tell-tale errors.
>

any developer can run this check before an attacker.

plpgsql_check  https://github.com/okbob/plpgsql_check does this check.

Regards

Pavel


> It certainly helps to know that nothing in how PG works in the space
> that's relevant here is going to change in my lifetime.
>
>

Reply via email to