diff options
author | Peter Korsgaard <peter@korsgaard.com> | 2017-07-14 16:02:03 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-07-14 19:29:31 +0200 |
commit | 31bd29fe093a258755929a23d764b02323fcdc46 (patch) | |
tree | 4093e373f33241491c83703588c18ad5c0a4e96d /package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch | |
parent | 45c468f6a5980c59252d2e1025f39eee9cf76aa8 (diff) | |
download | buildroot-31bd29fe093a258755929a23d764b02323fcdc46.tar.gz buildroot-31bd29fe093a258755929a23d764b02323fcdc46.zip |
spice: add upstream security fixes for CVE-2017-7506
Fixes CVE-2017-7506 - Possible buffer overflow via invalid monitor
configurations.
For more details, see:
https://marc.info/?l=oss-security&m=150001782924095
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch')
-rw-r--r-- | package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch b/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch new file mode 100644 index 0000000000..98740520c1 --- /dev/null +++ b/package/spice/0005-reds-Avoid-integer-overflows-handling-monitor-config.patch @@ -0,0 +1,31 @@ +From ec6229c79abe05d731953df5f7e9a05ec9f6df79 Mon Sep 17 00:00:00 2001 +From: Frediano Ziglio <fziglio@redhat.com> +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 <fziglio@redhat.com> +Signed-off-by: Peter Korsgaard <peter@korsgaard.com> +--- + 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 + |