From: | Stephen Frost <sfrost(at)snowman(dot)net> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Fix column-privilege leak in error-message paths |
Date: | 2015-01-28 17:33:39 |
Message-ID: | E1YGWUl-0004NE-Oy@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Fix column-privilege leak in error-message paths
While building error messages to return to the user,
BuildIndexValueDescription and ri_ReportViolation would happily include
the entire key or entire row in the result returned to the user, even if
the user didn't have access to view all of the columns being included.
Instead, include only those columns which the user is providing or which
the user has select rights on. If the user does not have any rights
to view the table or any of the columns involved then no detail is
provided and a NULL value is returned from BuildIndexValueDescription.
Note that, for key cases, the user must have access to all of the
columns for the key to be shown; a partial key will not be returned.
Back-patch all the way, as column-level privileges are now in all
supported versions.
This has been assigned CVE-2014-8161, but since the issue and the patch
have already been publicized on pgsql-hackers, there's no point in trying
to hide this commit.
Branch
------
REL9_0_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/3a20633694c1a1b1a260eed2aa4fa7ece46e07ca
Modified Files
--------------
src/backend/access/index/genam.c | 60 ++++++++++++++++++++-
src/backend/access/nbtree/nbtinsert.c | 10 ++--
src/backend/commands/copy.c | 8 +++
src/backend/commands/trigger.c | 6 +++
src/backend/executor/execMain.c | 9 ++++
src/backend/executor/execUtils.c | 12 +++--
src/backend/utils/adt/ri_triggers.c | 85 ++++++++++++++++++++++--------
src/backend/utils/sort/tuplesort.c | 9 ++--
src/test/regress/expected/privileges.out | 28 ++++++++++
src/test/regress/sql/privileges.sql | 25 +++++++++
10 files changed, 218 insertions(+), 34 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2015-01-28 22:43:39 | pgsql: Clean up range-table building in copy.c |
Previous Message | Heikki Linnakangas | 2015-01-28 08:27:36 | pgsql: Fix typo in comment. |