summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2019-06-16 15:00:23 +0000
committerTom Lane2019-06-16 15:00:23 +0000
commit6973b058bc8d32e104bed99c134a4fab4b5dfe13 (patch)
tree0e883e7b23cfc14f2021dcfd8fcae57c4d3c4e3c
parentfc8cf3df478e054b892f6698b6d336e72f3a7328 (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.sql5
-rw-r--r--src/include/catalog/catversion.h2
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