pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Noah Misch <noah@leadboat.com>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Ban role pg_signal_backend from more superuser backend types.
Date: Mon, 06 Nov 2023 14:17:12 +0000
Message-ID: <E1r00Pf-004Bat-U2@gemulon.postgresql.org> (raw)

Ban role pg_signal_backend from more superuser backend types.

Documentation says it cannot signal "a backend owned by a superuser".
On the contrary, it could signal background workers, including the
logical replication launcher.  It could signal autovacuum workers and
the autovacuum launcher.  Block all that.  Signaling autovacuum workers
and those two launchers doesn't stall progress beyond what one could
achieve other ways.  If a cluster uses a non-core extension with a
background worker that does not auto-restart, this could create a denial
of service with respect to that background worker.  A background worker
with bugs in its code for responding to terminations or cancellations
could experience those bugs at a time the pg_signal_backend member
chooses.  Back-patch to v11 (all supported versions).

Reviewed by Jelte Fennema-Nio.  Reported by Hemanth Sandrana and
Mahendrakar Srinivasarao.

Security: CVE-2023-5870

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/508acb901e31cf10fcac0ff9304d3d2d33bb2b2f

Modified Files
--------------
src/backend/storage/ipc/signalfuncs.c    |  9 +++++++--
src/test/regress/expected/privileges.out | 18 ++++++++++++++++++
src/test/regress/sql/privileges.sql      | 15 +++++++++++++++
3 files changed, 40 insertions(+), 2 deletions(-)



view thread (7+ messages)  latest in thread

Message-ID: <E1r00Pf-004Bat-U2@gemulon.postgresql.org>
Permalink:  ../E1r00Pf-004Bat-U2@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1r00Pf-004Bat-U2@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: noah@leadboat.com, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Ban role pg_signal_backend from more superuser backend types.
  In-Reply-To: <E1r00Pf-004Bat-U2@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox