pgsql: Fix privilege checks in pg_stats_ext and pg_stats_ext_exprs.

From: Nathan Bossart <nathan(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix privilege checks in pg_stats_ext and pg_stats_ext_exprs.
Date: 2024-05-06 14:00:46
Message-ID: E1s3ytZ-001pYJ-59@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix privilege checks in pg_stats_ext and pg_stats_ext_exprs.

The catalog view pg_stats_ext fails to consider privileges for
expression statistics. The catalog view pg_stats_ext_exprs fails
to consider privileges and row-level security policies. To fix,
restrict the data in these views to table owners or roles that
inherit privileges of the table owner. It may be possible to apply
less restrictive privilege checks in some cases, but that is left
as a future exercise. Furthermore, for pg_stats_ext_exprs, do not
return data for tables with row-level security enabled, as is
already done for pg_stats_ext.

On the back-branches, a fix-CVE-2024-4317.sql script is provided
that will install into the "share" directory. This file can be
used to apply the fix to existing clusters.

Bumps catversion on 'master' branch only.

Reported-by: Lukas Fittl
Reviewed-by: Noah Misch, Tomas Vondra, Tom Lane
Security: CVE-2024-4317
Backpatch-through: 14

Branch
------
REL_16_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/2485a85e96db137f7962a2e702b99869957f0990

Modified Files
--------------
doc/src/sgml/catalogs.sgml | 3 +-
doc/src/sgml/system-views.sgml | 4 +-
src/backend/catalog/Makefile | 3 +-
src/backend/catalog/fix-CVE-2024-4317.sql | 117 ++++++++++++++++++++++++++++++
src/backend/catalog/meson.build | 1 +
src/backend/catalog/system_views.sql | 11 +--
src/test/regress/expected/rules.out | 8 +-
src/test/regress/expected/stats_ext.out | 43 +++++++++++
src/test/regress/sql/stats_ext.sql | 27 +++++++
9 files changed, 200 insertions(+), 17 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2024-05-06 16:27:39 pgsql: Last-minute updates for release notes.
Previous Message Alvaro Herrera 2024-05-06 12:40:21 Re: pgsql: Revert "Skip .DS_Store files in server side utils"