Re: Printing backtrace of postgres processes
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: vignesh C <vignesh21@gmail.com>
Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>,
Andres Freund <andres@anarazel.de>,
Craig Ringer <craig.ringer@enterprisedb.com>,
Robert Haas <robertmhaas@gmail.com>,
Peter Eisentraut <peter.eisentraut@enterprisedb.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-02-03T07:30:26Z
Lists: pgsql-hackers
vignesh C <vignesh21@gmail.com> writes: > On Mon, Feb 1, 2021 at 11:04 AM Bharath Rupireddy > <bharath.rupireddyforpostgres@gmail.com> wrote: >> Are these superuser and permission checks enough from a security >> standpoint that we don't expose some sensitive information to the >> user? > This will just print the backtrace of the current backend. Users > cannot get password information from this. Really? A backtrace normally exposes the text of the current query, for instance, which could contain very sensitive data (passwords in ALTER USER, customer credit card numbers in ordinary data, etc etc). We don't allow the postmaster log to be seen by any but very privileged users; it's not sane to think that this data is any less security-critical than the postmaster log. This point is entirely separate from the question of whether triggering stack traces at inopportune moments could cause system malfunctions, but that question is also not to be ignored. TBH, I'm leaning to the position that this should be superuser only. I do NOT agree with the idea that ordinary users should be able to trigger it, even against backends theoretically belonging to their own userid. (Do I need to point out that some levels of the call stack might be from security-definer functions with more privilege than the session's nominal user?) regards, tom lane
Commits
-
Perform apply of large transactions by parallel workers.
- 216a784829c2 16.0 cited
-
Enhance pg_log_backend_memory_contexts() for auxiliary processes.
- 790fbda90209 15.0 cited
-
Allow GRANT on pg_log_backend_memory_contexts().
- f0b051e322d5 15.0 cited
-
Move Perl test modules to a better namespace
- b3b4d8e68ae8 15.0 cited
-
Unify PostgresNode's new() and get_new_node() methods
- 201a76183e20 15.0 cited
-
Add backtrace support for error reporting
- 71a8a4f6e365 13.0 cited