Updated to Open vSwitch 2.7.1 + DPDK 16.11.2

Resolves: #1468234
f38
Timothy Redaelli 8 years ago
parent c7bc7f4338
commit abd9d8c9f0

@ -1,30 +0,0 @@
From 7b7b186a8d40fc6f287cef2582702181da74bdc3 Mon Sep 17 00:00:00 2001
From: Ben Pfaff <blp@ovn.org>
Date: Sat, 20 May 2017 16:38:24 -0700
Subject: [PATCH] ofp-util: Fix buffer overread in
ofputil_pull_queue_get_config_reply10().
msg->size isn't the relevant measurement here because we're only supposed
to read 'len' bytes. Reading more than that causes 'len' to underflow to a
large number at the end of the loop.
Reported-by: Bhargava Shastry <bshastry@sec.t-labs.tu-berlin.de>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Greg Rose <gvrose8192@gmail.com>
---
lib/ofp-util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/ofp-util.c b/lib/ofp-util.c
index db27abf8bc..a6dd5dbddf 100644
--- a/lib/ofp-util.c
+++ b/lib/ofp-util.c
@@ -2598,7 +2598,7 @@ ofputil_pull_queue_get_config_reply10(struct ofpbuf *msg,
hdr = ofpbuf_at_assert(msg, 0, sizeof *hdr);
prop_len = ntohs(hdr->len);
- if (prop_len < sizeof *hdr || prop_len > msg->size || prop_len % 8) {
+ if (prop_len < sizeof *hdr || prop_len > len || prop_len % 8) {
return OFPERR_OFPBRC_BAD_LEN;
}

@ -1,65 +0,0 @@
From c562b61ed91605dc0c5790aaf2df09b566df77b6 Mon Sep 17 00:00:00 2001
From: Ben Pfaff <blp@ovn.org>
Date: Fri, 3 Mar 2017 21:16:17 -0800
Subject: [PATCH] conntrack: Fix checks for TCP, UDP, and IPv6 header sizes.
Otherwise a malformed packet could cause a read up to about 40 bytes past
the end of the packet. The packet would still likely be dropped because
of checksum verification.
Reported-by: Bhargava Shastry <bshastry@sec.t-labs.tu-berlin.de>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Daniele Di Proietto <diproiettod@vmware.com>
---
lib/conntrack.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/lib/conntrack.c b/lib/conntrack.c
index 9bea3d93e4..677c0d2a3c 100644
--- a/lib/conntrack.c
+++ b/lib/conntrack.c
@@ -568,15 +568,15 @@ extract_l3_ipv6(struct conn_key *key, const void *data, size_t size,
const char **new_data)
{
const struct ovs_16aligned_ip6_hdr *ip6 = data;
- uint8_t nw_proto = ip6->ip6_nxt;
- uint8_t nw_frag = 0;
-
if (new_data) {
if (OVS_UNLIKELY(size < sizeof *ip6)) {
return false;
}
}
+ uint8_t nw_proto = ip6->ip6_nxt;
+ uint8_t nw_frag = 0;
+
data = ip6 + 1;
size -= sizeof *ip6;
@@ -623,8 +623,11 @@ check_l4_tcp(const struct conn_key *key, const void *data, size_t size,
const void *l3)
{
const struct tcp_header *tcp = data;
- size_t tcp_len = TCP_OFFSET(tcp->tcp_ctl) * 4;
+ if (size < sizeof *tcp) {
+ return false;
+ }
+ size_t tcp_len = TCP_OFFSET(tcp->tcp_ctl) * 4;
if (OVS_UNLIKELY(tcp_len < TCP_HEADER_LEN || tcp_len > size)) {
return false;
}
@@ -637,8 +640,11 @@ check_l4_udp(const struct conn_key *key, const void *data, size_t size,
const void *l3)
{
const struct udp_header *udp = data;
- size_t udp_len = ntohs(udp->udp_len);
+ if (size < sizeof *udp) {
+ return false;
+ }
+ size_t udp_len = ntohs(udp->udp_len);
if (OVS_UNLIKELY(udp_len < UDP_HEADER_LEN || udp_len > size)) {
return false;
}

@ -24,13 +24,13 @@
# Enable PIE, bz#955181
%global _hardened_build 1
%define dpdkver 16.11.1
%define dpdkver 16.11.2
%define dpdkdir dpdk-stable
%define dpdksver %(echo %{dpdkver} | cut -d. -f-2)
Name: openvswitch
Version: 2.7.0
Release: 5%{?snapshot}%{?dist}
Version: 2.7.1
Release: 1%{?snapshot}%{?dist}
Summary: Open vSwitch daemon/database/utilities
# Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the
@ -42,11 +42,6 @@ Source0: http://openvswitch.org/releases/%{name}-%{version}%{?snap_gitsha}.tar.g
Source1: http://fast.dpdk.org/rel/dpdk-%{dpdkver}.tar.gz
Source2: ovs-snapshot.sh
Patch1: openvswitch-CVE-2017-9214.patch
Patch2: openvswitch-CVE-2017-9264.patch
Patch10: tests-Export-PYTHONCOERCECLOCALE-0-for-python3-tests.patch
%if %{with dpdk}
%define dpdkarches x86_64 i686 aarch64 ppc64le
@ -649,6 +644,9 @@ rm -rf $RPM_BUILD_ROOT
%{_unitdir}/ovn-controller-vtep.service
%changelog
* Thu Jul 06 2017 Timothy Redaelli <tredaelli@redhat.com> - 2.7.1-1
- Updated to Open vSwitch 2.7.1 and DPDK 16.11.2 (#1468234)
* Tue Jun 13 2017 Timothy Redaelli <tredaelli@redhat.com> - 2.7.0-5
- Backport fix for CVE-2017-9264 (#1457329)

@ -1,46 +0,0 @@
From 6180d2a53ac63e9e11c945e438faffceee30f6a1 Mon Sep 17 00:00:00 2001
From: Timothy Redaelli <tredaelli@redhat.com>
Date: Mon, 5 Jun 2017 15:28:38 +0200
Subject: [PATCH] tests: Export PYTHONCOERCECLOCALE=0 for python3 tests
This patch exports PYTHONCOERCECLOCALE=0 when you have Python3 tests
enabled.
This is needed since testsuite forces LC_ALL=C and Python 3, with PEP 538,
prints the following warning on stderr:
"Python runtime initialized with LC_CTYPE=C (a locale with default ASCII
encoding), which may cause Unicode compatibility problems. Using C.UTF-8,
C.utf8, or UTF-8 (if available) as alternative Unicode-compatible locales is
recommended."
AT_CHECK reports it as an error since stderr is not empty as it should be.
This patch is needed, at least, on Fedora 26 and Rawhide (backported PEP
538 on Python 3.6).
This will also be needed on any distribution with Python 3.7 (PEP 538).
Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
---
tests/atlocal.in | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/atlocal.in b/tests/atlocal.in
index bc2480bff..015817c46 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -11,6 +11,11 @@ fi
if test x"$PYTHON3" = x; then
PYTHON3='@PYTHON3@'
+
+ # PYTHONCOERCECLOCALE=0 disables the Unicode compatibility warning on
+ # stderr that breaks almost any Python3 test (PEP 0538)
+ PYTHONCOERCECLOCALE=0
+ export PYTHONCOERCECLOCALE
fi
PYTHONPATH=$abs_top_srcdir/python:$abs_top_builddir/tests:$PYTHONPATH
--
2.13.0
Loading…
Cancel
Save