diff options
author | Tom Lane | 2019-06-16 15:00:23 +0000 |
---|---|---|
committer | Tom Lane | 2019-06-16 15:00:23 +0000 |
commit | 6973b058bc8d32e104bed99c134a4fab4b5dfe13 (patch) | |
tree | 0e883e7b23cfc14f2021dcfd8fcae57c4d3c4e3c | |
parent | fc8cf3df478e054b892f6698b6d336e72f3a7328 (diff) |
Further fix privileges on pg_statistic_ext[_data].
We don't need to restrict column privileges on pg_statistic_ext;
all of that data is OK to read publicly. What we *do* need to do,
which was overlooked by 6cbfb784c, is revoke public read access on
pg_statistic_ext_data; otherwise we still have the same security
hole we started with.
Catversion bump to ensure that installations calling themselves
beta2 will have this fix.
Diagnosis/correction by Dean Rasheed and Tomas Vondra, but I'm
going to go ahead and push this fix ASAP so we get more buildfarm
cycles on it.
Discussion: https://postgr.es/m/8833.1560647898@sss.pgh.pa.us
-rw-r--r-- | src/backend/catalog/system_views.sql | 5 | ||||
-rw-r--r-- | src/include/catalog/catversion.h | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/backend/catalog/system_views.sql b/src/backend/catalog/system_views.sql index f9731453e32..ea4c85e3959 100644 --- a/src/backend/catalog/system_views.sql +++ b/src/backend/catalog/system_views.sql @@ -290,9 +290,8 @@ CREATE VIEW pg_stats_ext WITH (security_barrier) AS WHERE NOT has_column_privilege(c.oid, a.attnum, 'select') ) AND (c.relrowsecurity = false OR NOT row_security_active(c.oid)); -REVOKE ALL on pg_statistic_ext FROM public; -GRANT SELECT (tableoid, oid, stxrelid, stxname, stxnamespace, stxowner, stxkeys, stxkind) - ON pg_statistic_ext TO public; +-- unprivileged users may read pg_statistic_ext but not pg_statistic_ext_data +REVOKE ALL on pg_statistic_ext_data FROM public; CREATE VIEW pg_publication_tables AS SELECT diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index ed20a4faaff..fe44cae3ff4 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 201906152 +#define CATALOG_VERSION_NO 201906161 #endif |