0001-Previously-pg_backend_memory_contexts-doesn-t-have-a.patch
text/x-diff
Filename: 0001-Previously-pg_backend_memory_contexts-doesn-t-have-a.patch
Type: text/x-diff
Part: 0
Patch
Format: format-patch
Series: patch 0001
Subject: Previously pg_backend_memory_contexts doesn't have any restriction and anyone could access it. However, this view contains some internal information of the memory context. This policy could cause security issues. This patch revokes all on pg_shmem_allocations from public and only the superusers can access it.
| File | + | − |
|---|---|---|
| doc/src/sgml/catalogs.sgml | 4 | 0 |
| src/backend/catalog/system_views.sql | 3 | 0 |
From dc4fade9111dc3f91e992c4d5af393dd5ed03270 Mon Sep 17 00:00:00 2001
From: Atsushi Torikoshi <torikoshia@oss.nttdata.com>
Date: Mon, 24 Jul 2020 11:14:32 +0900
Subject: [PATCH] Previously pg_backend_memory_contexts doesn't have any
restriction and anyone could access it. However, this view contains some
internal information of the memory context. This policy could cause security
issues. This patch revokes all on pg_shmem_allocations from public and only
the superusers can access it.
---
doc/src/sgml/catalogs.sgml | 4 ++++
src/backend/catalog/system_views.sql | 3 +++
2 files changed, 7 insertions(+)
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index 1232b24e74..9fe260ecff 100644
--- a/doc/src/sgml/catalogs.sgml
+++ b/doc/src/sgml/catalogs.sgml
@@ -9697,6 +9697,10 @@ SCRAM-SHA-256$<replaceable><iteration count></replaceable>:<replaceable>&l
</tgroup>
</table>
+ <para>
+ By default, the <structname>pg_backend_memory_contexts</structname> view can be
+ read only by superusers.
+ </para>
</sect1>
<sect1 id="view-pg-config">
diff --git a/src/backend/catalog/system_views.sql b/src/backend/catalog/system_views.sql
index ba5a23ac25..a2d61302f9 100644
--- a/src/backend/catalog/system_views.sql
+++ b/src/backend/catalog/system_views.sql
@@ -557,6 +557,9 @@ REVOKE EXECUTE ON FUNCTION pg_get_shmem_allocations() FROM PUBLIC;
CREATE VIEW pg_backend_memory_contexts AS
SELECT * FROM pg_get_backend_memory_contexts();
+REVOKE ALL ON pg_backend_memory_contexts FROM PUBLIC;
+REVOKE EXECUTE ON FUNCTION pg_get_backend_memory_contexts() FROM PUBLIC;
+
-- Statistics views
CREATE VIEW pg_stat_all_tables AS
--
2.18.1