Skip to contentSkip to conversation

spice-protocol: bump version to 0.12.14

PATCH New Peter Korsgaard 1 participant 6 messages Oct 17, 2018 – Oct 24, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 spice-protocol: bump version to 0.12.14

Needed by spice 0.14.x

---
 package/spice-protocol/spice-protocol.hash | 2 +-
 package/spice-protocol/spice-protocol.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
package/spice-protocol/spice-protocol.hash +1 -1
index c75c095cbf..e72bb2d712 100644
@@ -1,2 +1,2 @@
 # Locally calculated after checking pgp signature
-sha256	788f0d7195bec5b14371732b562eb55ca82712aab12273b0e87529fb30532efb	spice-protocol-0.12.10.tar.bz2
+sha256	20350bc4309039fdf0d29ee4fd0033cde27bccf33501e13b3c1befafde9d0c9c	spice-protocol-0.12.14.tar.bz2
package/spice-protocol/spice-protocol.mk +1 -1
index dcc6feeb13..7392e9533d 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-SPICE_PROTOCOL_VERSION = 0.12.10
+SPICE_PROTOCOL_VERSION = 0.12.14
 SPICE_PROTOCOL_SOURCE = spice-protocol-$(SPICE_PROTOCOL_VERSION).tar.bz2
 SPICE_PROTOCOL_SITE = http://www.spice-space.org/download/releases
 SPICE_PROTOCOL_LICENSE = BSD-3-Clause
Signature · 1 line
2.11.0
#3 lore raw

PATCH 2/2 spice: security bump to version 0.14.1

In reply to Peter Korsgaard

Fixes CVE-2018-10873: A vulnerability was discovered in SPICE before version 0.14.1 where the generated code used for demarshalling messages lacked sufficient bounds checks. A malicious client or server, after authentication, could send specially crafted messages to its peer which would result in a crash or, potentially, other impacts.

Drop patches as they are now upstream.

Add host-pkgconf as the configure script uses pkg-config. Drop removed --disable-automated-tests configure flag.

Add optional opus support, as that is now supported and needs to be explicitly disabled to not use. Explicitly disable optional gstreamer support for now as the dependency tree is fairly complicated.

---
 ...sible-DoS-attempts-during-protocol-handsh.patch | 60 -----------------
 ...nt-integer-overflows-in-capability-checks.patch | 43 -------------
 ...l-Prevent-overflow-reading-messages-from-.patch | 33 ----------
 ...nect-when-receiving-overly-big-ClientMoni.patch | 75 ----------------------
 ...integer-overflows-handling-monitor-config.patch | 31 ---------
 ...buffer-overflows-handling-monitor-configu.patch | 48 --------------
 package/spice/spice.hash                           |  2 +-
 package/spice/spice.mk                             | 14 +++-
 8 files changed, 12 insertions(+), 294 deletions(-)
 delete mode 100644 package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch
 delete mode 100644 package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch
 delete mode 100644 package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch
 delete mode 100644 package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch
 delete mode 100644 package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch
 delete mode 100644 package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch
package/spice/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch deleted +0 -60
deleted file mode 100644
index 57a64d96b7..0000000000
@@ -1,60 +0,0 @@
-From 1c6517973095a67c8cb57f3550fc1298404ab556 Mon Sep 17 00:00:00 2001
-From: Frediano Ziglio <[email protected]>
-Date: Tue, 13 Dec 2016 14:39:48 +0000
-Subject: [PATCH] Prevent possible DoS attempts during protocol handshake
-
-The limit for link message is specified using a 32 bit unsigned integer.
-This could cause possible DoS due to excessive memory allocations and
-some possible crashes.
-For instance a value >= 2^31 causes a spice_assert to be triggered in
-async_read_handler (reds-stream.c) due to an integer overflow at this
-line:
-
-   int n = async->end - async->now;
-
-This could be easily triggered with a program like
-
-  #!/usr/bin/env python
-
-  import socket
-  import time
-  from struct import pack
-
-  server = '127.0.0.1'
-  port = 5900
-
-  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-  s.connect((server, port))
-  data = pack('<4sIII', 'REDQ', 2, 2, 0xaaaaaaaa)
-  s.send(data)
-
-  time.sleep(1)
-
-without requiring any authentication (the same can be done
-with TLS).
-
-[Peter: fixes CVE-2016-9578]
-Signed-off-by: Frediano Ziglio <[email protected]>
-Acked-by: Christophe Fergeau <[email protected]>
-Signed-off-by: Peter Korsgaard <[email protected]>
----
- server/reds.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/server/reds.c b/server/reds.c
-index f40b65c1..86a33d53 100644
---- a/server/reds.c
-+++ b/server/reds.c
-@@ -2202,7 +2202,8 @@ static void reds_handle_read_header_done(void *opaque)
- 
-     reds->peer_minor_version = header->minor_version;
- 
--    if (header->size < sizeof(SpiceLinkMess)) {
-+    /* the check for 4096 is to avoid clients to cause arbitrary big memory allocations */
-+    if (header->size < sizeof(SpiceLinkMess) || header->size > 4096) {
-         reds_send_link_error(link, SPICE_LINK_ERR_INVALID_DATA);
-         spice_warning("bad size %u", header->size);
-         reds_link_free(link);
--- 
-2.11.0
-
package/spice/0002-Prevent-integer-overflows-in-capability-checks.patch deleted +0 -43

43 lines not on this page · raw message

package/spice/0003-main-channel-Prevent-overflow-reading-messages-from-.patch deleted +0 -33
deleted file mode 100644
index f602d5f3b1..0000000000
@@ -1,33 +0,0 @@
-From 5f96b596353d73bdf4bb3cd2de61e48a7fd5b4c3 Mon Sep 17 00:00:00 2001
-From: Frediano Ziglio <[email protected]>
-Date: Tue, 29 Nov 2016 16:46:56 +0000
-Subject: [PATCH] main-channel: Prevent overflow reading messages from client
-
-Caller is supposed the function return a buffer able to store
-size bytes.
-
-[Peter: fixes CVE-2016-9577]
-Signed-off-by: Frediano Ziglio <[email protected]>
-Acked-by: Christophe Fergeau <[email protected]>
-Signed-off-by: Peter Korsgaard <[email protected]>
----
- server/main_channel.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/server/main_channel.c b/server/main_channel.c
-index 0ecc9df8..1fc39155 100644
---- a/server/main_channel.c
-+++ b/server/main_channel.c
-@@ -1026,6 +1026,9 @@ static uint8_t *main_channel_alloc_msg_rcv_buf(RedChannelClient *rcc,
- 
-     if (type == SPICE_MSGC_MAIN_AGENT_DATA) {
-         return reds_get_agent_data_buffer(mcc, size);
-+    } else if (size > sizeof(main_chan->recv_buf)) {
-+        /* message too large, caller will log a message and close the connection */
-+        return NULL;
-     } else {
-         return main_chan->recv_buf;
-     }
--- 
-2.11.0
-
package/spice/0004-reds-Disconnect-when-receiving-overly-big-ClientMoni.patch deleted +0 -75

75 lines not on this page · raw message

package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch deleted +0 -31
deleted file mode 100644
index 98740520c1..0000000000
@@ -1,31 +0,0 @@
-From ec6229c79abe05d731953df5f7e9a05ec9f6df79 Mon Sep 17 00:00:00 2001
-From: Frediano Ziglio <[email protected]>
-Date: Mon, 15 May 2017 15:57:28 +0100
-Subject: [PATCH] reds: Avoid integer overflows handling monitor
- configuration
-
-Avoid VDAgentMessage::size integer overflows.
-
-Signed-off-by: Frediano Ziglio <[email protected]>
-Signed-off-by: Peter Korsgaard <[email protected]>
----
- server/reds.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/server/reds.c b/server/reds.c
-index 7be85fdf..e1c8c108 100644
---- a/server/reds.c
-+++ b/server/reds.c
-@@ -1024,6 +1024,9 @@ static void reds_on_main_agent_monitors_config(
-         spice_debug("not enough data yet. %d", cmc->buffer_size);
-         return;
-     }
-+    if (msg_header->size < sizeof(VDAgentMonitorsConfig)) {
-+        goto overflow;
-+    }
-     monitors_config = (VDAgentMonitorsConfig *)(cmc->buffer + sizeof(*msg_header));
-     spice_debug("%s: %d", __func__, monitors_config->num_of_monitors);
-     red_dispatcher_client_monitors_config(monitors_config);
--- 
-2.11.0
-
package/spice/0006-reds-Avoid-buffer-overflows-handling-monitor-configu.patch deleted +0 -48

48 lines not on this page · raw message

package/spice/spice.hash +1 -1
index c9b591f41d..1a25926ab2 100644
@@ -1,2 +1,2 @@
 # Locally calculated
-sha256	f901a5c5873d61acac84642f9eea5c4d6386fc3e525c2b68792322794e1c407d	spice-0.12.8.tar.bz2
+sha256	1ead5de63d06eededed4017db37240f07bef0abffbaf621899647e7e685a1519	spice-0.14.1.tar.bz2
package/spice/spice.mk +11 -3
index 7b09f39fe7..16e57441a8 100644
@@ -4,13 +4,14 @@
 #
 ################################################################################
 
-SPICE_VERSION = 0.12.8
+SPICE_VERSION = 0.14.1
 SPICE_SOURCE = spice-$(SPICE_VERSION).tar.bz2
-SPICE_SITE = http://www.spice-space.org/download/releases
+SPICE_SITE = http://www.spice-space.org/download/releases/spice-server
 SPICE_LICENSE = LGPL-2.1+
 SPICE_LICENSE_FILES = COPYING
 SPICE_INSTALL_STAGING = YES
 SPICE_DEPENDENCIES = \
+	host-pkgconf \
 	jpeg \
 	libglib2 \
 	openssl \
@@ -20,9 +21,9 @@ SPICE_DEPENDENCIES = \
 # We disable everything for now, because the dependency tree can become
 # quite deep if we try to enable some features, and I have not tested that.
 SPICE_CONF_OPTS = \
+	--disable-gstreamer \
 	--disable-opengl \
 	--disable-smartcard \
-	--disable-automated-tests \
 	--without-sasl \
 	--disable-manual
 
@@ -42,6 +43,13 @@ else
 SPICE_CONF_OPTS += --disable-lz4
 endif
 
+ifeq ($(BR2_PACKAGE_OPUS),y)
+SPICE_CONF_OPTS += --enable-opus
+SPICE_DEPENDENCIES += opus
+else
+SPICE_CONF_OPTS += --disable-opus
+endif
+
 # no enable/disable, detected using pkg-config
 ifeq ($(BR2_PACKAGE_OPUS),y)
 SPICE_DEPENDENCIES += opus
Signature · 1 line
2.11.0
#4 lore raw

PATCH 2/2 spice: security bump to version 0.14.1

Quoted 10 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Peter" == Peter Korsgaard <[email protected]> writes:

Fixes CVE-2018-10873: A vulnerability was discovered in SPICE before version 0.14.1 where the generated code used for demarshalling messages lacked sufficient bounds checks. A malicious client or server, after authentication, could send specially crafted messages to its peer which would result in a crash or, potentially, other impacts.

Drop patches as they are now upstream.

Quoted 8 lines

Add host-pkgconf as the configure script uses pkg-config. Drop removed --disable-automated-tests configure flag.

Add optional opus support, as that is now supported and needs to be explicitly disabled to not use. Explicitly disable optional gstreamer support for now as the dependency tree is fairly complicated.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#5 lore raw

PATCH 2/2 spice: security bump to version 0.14.1

In reply to Peter Korsgaard
Quoted 10 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Peter" == Peter Korsgaard <[email protected]> writes:

Fixes CVE-2018-10873: A vulnerability was discovered in SPICE before version 0.14.1 where the generated code used for demarshalling messages lacked sufficient bounds checks. A malicious client or server, after authentication, could send specially crafted messages to its peer which would result in a crash or, potentially, other impacts.

Drop patches as they are now upstream.

Quoted 8 lines

Add host-pkgconf as the configure script uses pkg-config. Drop removed --disable-automated-tests configure flag.

Add optional opus support, as that is now supported and needs to be explicitly disabled to not use. Explicitly disable optional gstreamer support for now as the dependency tree is fairly complicated.

Committed to 2018.02.x and 2018.08.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard