render / rpms / libvirt

Forked from rpms/libvirt 9 months ago
Clone
0a7476
From 4c11cc47e947eba9329692f857728758959078cf Mon Sep 17 00:00:00 2001
0a7476
Message-Id: <4c11cc47e947eba9329692f857728758959078cf@dist-git>
f3a72a
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
f3a72a
Date: Wed, 15 May 2019 21:40:58 +0100
f3a72a
Subject: [PATCH] logging: restrict sockets to mode 0600
f3a72a
MIME-Version: 1.0
f3a72a
Content-Type: text/plain; charset=UTF-8
f3a72a
Content-Transfer-Encoding: 8bit
f3a72a
f3a72a
The virtlogd daemon's only intended client is the libvirtd daemon. As
f3a72a
such it should never allow clients from other user accounts to connect.
f3a72a
The code already enforces this and drops clients from other UIDs, but
f3a72a
we can get earlier (and thus stronger) protection against DoS by setting
f3a72a
the socket permissions to 0600
f3a72a
f3a72a
Fixes CVE-2019-10132
f3a72a
f3a72a
Reviewed-by: Ján Tomko <jtomko@redhat.com>
f3a72a
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
0a7476
(cherry picked from commit e37bd65f9948c1185456b2cdaa3bd6e875af680f)
f3a72a
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
f3a72a
Message-Id: <20190515204058.28077-4-berrange@redhat.com>
f3a72a
---
f3a72a
 src/logging/virtlogd-admin.socket.in | 1 +
f3a72a
 src/logging/virtlogd.socket.in       | 1 +
f3a72a
 2 files changed, 2 insertions(+)
f3a72a
f3a72a
diff --git a/src/logging/virtlogd-admin.socket.in b/src/logging/virtlogd-admin.socket.in
f3a72a
index 595e6c4c4b..5c41dfeb7b 100644
f3a72a
--- a/src/logging/virtlogd-admin.socket.in
f3a72a
+++ b/src/logging/virtlogd-admin.socket.in
f3a72a
@@ -5,6 +5,7 @@ Before=libvirtd.service
f3a72a
 [Socket]
f3a72a
 ListenStream=@localstatedir@/run/libvirt/virtlogd-admin-sock
f3a72a
 Service=virtlogd.service
f3a72a
+SocketMode=0600
f3a72a
 
f3a72a
 [Install]
f3a72a
 WantedBy=sockets.target
f3a72a
diff --git a/src/logging/virtlogd.socket.in b/src/logging/virtlogd.socket.in
f3a72a
index 22b9360c8d..ae48cdab9a 100644
f3a72a
--- a/src/logging/virtlogd.socket.in
f3a72a
+++ b/src/logging/virtlogd.socket.in
f3a72a
@@ -4,6 +4,7 @@ Before=libvirtd.service
f3a72a
 
f3a72a
 [Socket]
f3a72a
 ListenStream=@localstatedir@/run/libvirt/virtlogd-sock
f3a72a
+SocketMode=0600
f3a72a
 
f3a72a
 [Install]
f3a72a
 WantedBy=sockets.target
f3a72a
-- 
f3a72a
2.21.0
f3a72a