]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Check for CREATE privilege on the schema in CREATE STATISTICS.
authorNathan Bossart <nathan@postgresql.org>
Mon, 10 Nov 2025 15:00:00 +0000 (09:00 -0600)
committerNathan Bossart <nathan@postgresql.org>
Mon, 10 Nov 2025 15:00:00 +0000 (09:00 -0600)
commit00eb646ea43410e5df77fed96f4a981e66811796
tree195be2038618fc03c4985e70f2f81aa83f578c76
parent7eb8fcad860e9a0548191dab7a87a5bead5f8e91
Check for CREATE privilege on the schema in CREATE STATISTICS.

This omission allowed table owners to create statistics in any
schema, potentially leading to unexpected naming conflicts.  For
ALTER TABLE commands that require re-creating statistics objects,
skip this check in case the user has since lost CREATE on the
schema.  The addition of a second parameter to CreateStatistics()
breaks ABI compatibility, but we are unaware of any impacted
third-party code.

Reported-by: Jelte Fennema-Nio <postgres@jeltef.nl>
Author: Jelte Fennema-Nio <postgres@jeltef.nl>
Co-authored-by: Nathan Bossart <nathandbossart@gmail.com>
Reviewed-by: Noah Misch <noah@leadboat.com>
Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de>
Security: CVE-2025-12817
Backpatch-through: 13
src/backend/commands/statscmds.c
src/backend/commands/tablecmds.c
src/backend/tcop/utility.c
src/include/commands/defrem.h
src/test/regress/expected/stats_ext.out
src/test/regress/sql/stats_ext.sql