Control: tags -1 confirmed Heiko Stuebner: > Package: release.debian.org > Severity: normal > User: release.debian....@packages.debian.org > Usertags: unblock > > Please unblock package libnl3 > > In CVE-2017-0553 a possible (but moderate) security issue was found > which resulted in bug #859948 against the Debian libnl3 package. > > The 3.2.27-2 fixes this (and only this) issue. >
Ack from here, CC'ing KiBi for a d-i ack (and keeping the debdiff for his sake). ~Niels > debdiff: > diff -Nru libnl3-3.2.27/debian/changelog libnl3-3.2.27/debian/changelog > --- libnl3-3.2.27/debian/changelog 2016-01-24 23:54:53.000000000 +0100 > +++ libnl3-3.2.27/debian/changelog 2017-04-10 11:48:23.000000000 +0200 > @@ -1,3 +1,9 @@ > +libnl3 (3.2.27-2) unstable; urgency=low > + > + * Add upstream fix for CVE-2017-0553 (Closes: #859948) > + > + -- Heiko Stuebner <mm...@debian.org> Mon, 10 Apr 2017 11:48:23 +0200 > + > libnl3 (3.2.27-1) unstable; urgency=low > > * New upstream release > diff -Nru libnl3-3.2.27/debian/patches/debian/nlmsg_reserve-overflow.patch > libnl3-3.2.27/debian/patches/debian/nlmsg_reserve-overflow.patch > --- libnl3-3.2.27/debian/patches/debian/nlmsg_reserve-overflow.patch > 1970-01-01 01:00:00.000000000 +0100 > +++ libnl3-3.2.27/debian/patches/debian/nlmsg_reserve-overflow.patch > 2017-04-10 10:55:21.000000000 +0200 > @@ -0,0 +1,38 @@ > +From 3e18948f17148e6a3c4255bdeaaf01ef6081ceeb Mon Sep 17 00:00:00 2001 > +From: Thomas Haller <thal...@redhat.com> > +Date: Mon, 6 Feb 2017 22:23:52 +0100 > +Subject: [PATCH] lib: check for integer-overflow in nlmsg_reserve() > + > +In general, libnl functions are not robust against calling with > +invalid arguments. Thus, never call libnl functions with invalid > +arguments. In case of nlmsg_reserve() this means never provide > +a @len argument that causes overflow. > + > +Still, add an additional safeguard to avoid exploiting such bugs. > + > +Assume that @pad is a trusted, small integer. > +Assume that n->nm_size is a valid number of allocated bytes (and thus > +much smaller then SIZE_T_MAX). > +Assume, that @len may be set to an untrusted value. Then the patch > +avoids an integer overflow resulting in reserving too few bytes. > +--- > + lib/msg.c | 3 +++ > + 1 file changed, 3 insertions(+) > + > +diff --git a/lib/msg.c b/lib/msg.c > +index 9af3f3a..3e27d4e 100644 > +--- a/lib/msg.c > ++++ b/lib/msg.c > +@@ -411,6 +411,9 @@ void *nlmsg_reserve(struct nl_msg *n, size_t len, int > pad) > + size_t nlmsg_len = n->nm_nlh->nlmsg_len; > + size_t tlen; > + > ++ if (len > n->nm_size) > ++ return NULL; > ++ > + tlen = pad ? ((len + (pad - 1)) & ~(pad - 1)) : len; > + > + if ((tlen + nlmsg_len) > n->nm_size) > +-- > +2.9.3 > + > diff -Nru libnl3-3.2.27/debian/patches/series > libnl3-3.2.27/debian/patches/series > --- libnl3-3.2.27/debian/patches/series 2016-01-24 00:36:27.000000000 +0100 > +++ libnl3-3.2.27/debian/patches/series 2017-04-10 10:57:45.000000000 +0200 > @@ -3,3 +3,4 @@ > debian/no-symvers.diff -p1 > debian/__nl_cache_ops_lookup-unstatic.diff -p1 > debian/_nl_socket_generate_local_port_no_release.diff -p1 > +debian/nlmsg_reserve-overflow.patch -p1 > > > unblock libnl3/3.2.27-2 > > [...]