render / rpms / libvirt

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