pgsql: Parallel workers use AuthenticatedUserId for connection privileg - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Parallel workers use AuthenticatedUserId for connection privileg
Date
Msg-id E1tAcXx-001MUe-5L@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Parallel workers use AuthenticatedUserId for connection privilege checks.

Commit 5a2fed911 had an unexpected side-effect: the parallel worker
launched for the new test case would fail if it couldn't use a
superuser-reserved connection slot.  The reason that test failed
while all our pre-existing ones worked is that the connection
privilege tests in InitPostgres had been based on the superuserness
of the leader's AuthenticatedUserId, but after the rearrangements
of 5a2fed911 we were testing the superuserness of CurrentUserId,
which the new test case deliberately made to be a non-superuser.

This all seems very accidental and probably not the behavior we really
want, but a security patch is no time to be redesigning things.
Pending some discussion about desirable semantics, hack it so that
InitPostgres continues to pay attention to the superuserness of
AuthenticatedUserId when starting a parallel worker.

Nathan Bossart and Tom Lane, per buildfarm member sawshark.

Security: CVE-2024-10978

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/f4f5d27d87247da1ec7e5a6e7990a22ffba9f63a

Modified Files
--------------
src/backend/utils/init/postinit.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Fix cross-version upgrade tests.
Next
From: Tom Lane
Date:
Subject: pgsql: Last-minute updates for release notes.