[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#989772: marked as done (buster-pu: package connman/1.36-2.1~deb10u2)



Your message dated Sat, 19 Jun 2021 10:56:39 +0100
with message-id <5c65c3ad2ac9b1b1f78bf73b1cf073041e619b51.camel@adam-barratt.org.uk>
and subject line Closing p-u requests for fixes included in 10.10 point release
has caused the Debian Bug report #989772,
regarding buster-pu: package connman/1.36-2.1~deb10u2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
989772: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989772
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: carnil@debian.org

Hi SRM,

connman is affected by a stack based buffer overflow vulnerability,
CVE-2021-33833. The issue has been fixed in unstable, though it has
not yet migrated to testing (an unblock request has not been done
yet).

Debdiff for the change attached.

Regards,
Salvatore
diff -Nru connman-1.36/debian/changelog connman-1.36/debian/changelog
--- connman-1.36/debian/changelog	2021-02-05 18:11:52.000000000 +0100
+++ connman-1.36/debian/changelog	2021-06-12 14:48:40.000000000 +0200
@@ -1,3 +1,11 @@
+connman (1.36-2.1~deb10u2) buster; urgency=medium
+
+  * Non-maintainer upload.
+  * dnsproxy: Check the length of buffers before memcpy (CVE-2021-33833)
+    (Closes: #989662)
+
+ -- Salvatore Bonaccorso <carnil@debian.org>  Sat, 12 Jun 2021 14:48:40 +0200
+
 connman (1.36-2.1~deb10u1) buster-security; urgency=high
 
   * Non-maintainer upload by the Security Team.
diff -Nru connman-1.36/debian/patches/dnsproxy-Check-the-length-of-buffers-before-memcpy.patch connman-1.36/debian/patches/dnsproxy-Check-the-length-of-buffers-before-memcpy.patch
--- connman-1.36/debian/patches/dnsproxy-Check-the-length-of-buffers-before-memcpy.patch	1970-01-01 01:00:00.000000000 +0100
+++ connman-1.36/debian/patches/dnsproxy-Check-the-length-of-buffers-before-memcpy.patch	2021-06-12 14:47:31.000000000 +0200
@@ -0,0 +1,68 @@
+From: Valery Kashcheev <v.kascheev@omp.ru>
+Date: Mon, 7 Jun 2021 18:58:24 +0200
+Subject: dnsproxy: Check the length of buffers before memcpy
+Origin: https://git.kernel.org/pub/scm/network/connman/connman.git/commit?id=eceb2e8d2341c041df55a5e2f047d9a8c491463c
+Bug-Debian: https://bugs.debian.org/989662
+Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2021-33833
+
+Fix using a stack-based buffer overflow attack by checking the length of
+the ptr and uptr buffers.
+
+Fix debug message output.
+
+Fixes: CVE-2021-33833
+---
+ src/dnsproxy.c | 20 +++++++++++---------
+ 1 file changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/src/dnsproxy.c b/src/dnsproxy.c
+index de52df5ad0a0..38dbdd71e425 100644
+--- a/src/dnsproxy.c
++++ b/src/dnsproxy.c
+@@ -1788,17 +1788,15 @@ static char *uncompress(int16_t field_count, char *start, char *end,
+ 		 * tmp buffer.
+ 		 */
+ 
+-		debug("pos %d ulen %d left %d name %s", pos, ulen,
+-			(int)(uncomp_len - (uptr - uncompressed)), uptr);
+-
+-		ulen = strlen(name);
+-		if ((uptr + ulen + 1) > uncomp_end) {
++		ulen = strlen(name) + 1;
++		if ((uptr + ulen) > uncomp_end)
+ 			goto out;
+-		}
+-		strncpy(uptr, name, uncomp_len - (uptr - uncompressed));
++		strncpy(uptr, name, ulen);
++
++		debug("pos %d ulen %d left %d name %s", pos, ulen,
++			(int)(uncomp_end - (uptr + ulen)), uptr);
+ 
+ 		uptr += ulen;
+-		*uptr++ = '\0';
+ 
+ 		ptr += pos;
+ 
+@@ -1841,7 +1839,7 @@ static char *uncompress(int16_t field_count, char *start, char *end,
+ 		} else if (dns_type == ns_t_a || dns_type == ns_t_aaaa) {
+ 			dlen = uptr[-2] << 8 | uptr[-1];
+ 
+-			if (ptr + dlen > end) {
++			if ((ptr + dlen) > end || (uptr + dlen) > uncomp_end) {
+ 				debug("data len %d too long", dlen);
+ 				goto out;
+ 			}
+@@ -1880,6 +1878,10 @@ static char *uncompress(int16_t field_count, char *start, char *end,
+ 			 * refresh interval, retry interval, expiration
+ 			 * limit and minimum ttl). They are 20 bytes long.
+ 			 */
++			if ((uptr + 20) > uncomp_end || (ptr + 20) > end) {
++				debug("soa record too long");
++				goto out;
++			}
+ 			memcpy(uptr, ptr, 20);
+ 			uptr += 20;
+ 			ptr += 20;
+-- 
+2.32.0
+
diff -Nru connman-1.36/debian/patches/series connman-1.36/debian/patches/series
--- connman-1.36/debian/patches/series	2021-02-05 18:05:34.000000000 +0100
+++ connman-1.36/debian/patches/series	2021-06-12 14:47:31.000000000 +0200
@@ -4,3 +4,4 @@
 gdhcp-Avoid-reading-invalid-data-in-dhcp_get_option.patch
 gdhcp-Avoid-leaking-stack-data-via-unitiialized-vari.patch
 dnsproxy-Add-length-checks-to-prevent-buffer-overflo.patch
+dnsproxy-Check-the-length-of-buffers-before-memcpy.patch

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 10.10

Hi,

Each of the updates referenced in these bugs was included in the 10.10
point release today.

Regards,

Adam

--- End Message ---

Reply to: