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