Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian....@packages.debian.org
Usertags: pu

Hi there,

This is a buster proposed update to fix CVE-2019-13952 aka #932407. This
is an old and really minor vulnerability, which I honestly had forgotten
about. It's easy and thus still good to fix.

I've packaged this as 2.4.3-1 (from 2.4.2-1). While technically a new
upstream release, it was released solely to contain this (two-line) fix,
with no other changes, as you can also see below. 2.4.3-1 never existed
in unstable either (it went to 3.5.0-1 directly), so it should be safe
for upgrades as well. Hope that's OK!

Diff below. Thank you for your consideration!

Regards,
Faidon


diff --git a/NEWS b/NEWS
index 152edad..33019fb 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+2.4.3 - 2019-07-19
+    * Fix CVE-2019-13952: IPv6 addresses in local zone file data which are
+      longer than the maximum legitimate IPv6 address cause a stack buffer
+      overflow and crash.
+
 2.4.2 - 2019-02-11
     * FreeBSD: Fix EADDRNOTAVAIL issue for IPv6 sockets when the listening IP
       is bound to the loopback and traffic is routed indirectly, by resetting
diff --git a/configure.ac b/configure.ac
index 3ce9ee8..539ddec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 AC_PREREQ([2.63])
-AC_INIT([gdnsd],[2.4.2],[https://github.com/gdnsd/gdnsd/issues])
+AC_INIT([gdnsd],[2.4.3],[https://github.com/gdnsd/gdnsd/issues])
 AC_CONFIG_SRCDIR([src/main.c])
 AC_CONFIG_AUX_DIR([acaux])
 AM_INIT_AUTOMAKE([1.11.1 dist-xz no-dist-gzip foreign tar-ustar subdir-objects 
-Wall])
diff --git a/debian/changelog b/debian/changelog
index e4ec3c9..6cb188f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+gdnsd (2.4.3-1) buster; urgency=medium
+
+  * Fix CVE-2019-13952: IPv6 addresses in local zone file data which are
+    longer than the maximum legitimate IPv6 address cause a stack buffer
+    overflow and crash. (Closes: #932407)
+
+ -- Faidon Liambotis <parav...@debian.org>  Thu, 11 Feb 2021 23:58:20 +0200
+
 gdnsd (2.4.2-1) unstable; urgency=medium
 
   * New upstream point release.
diff --git a/debian/gbp.conf b/debian/gbp.conf
index 81b6d6d..e4bff86 100644
--- a/debian/gbp.conf
+++ b/debian/gbp.conf
@@ -1,6 +1,6 @@
 [DEFAULT]
 upstream-tree=tag
-debian-branch=debian
+debian-branch=debian/buster
 upstream-tag = v%(version)s
 no-create-orig = True
 compression = xz
diff --git a/src/zscan_rfc1035.rl b/src/zscan_rfc1035.rl
index ad230c6..7be5ee5 100644
--- a/src/zscan_rfc1035.rl
+++ b/src/zscan_rfc1035.rl
@@ -111,6 +111,8 @@ F_NONNULL
 static void set_ipv6(zscan_t* z, const char* end) {
     char txt[INET6_ADDRSTRLEN + 1];
     unsigned len = end - z->tstart;
+    if (len > INET6_ADDRSTRLEN)
+        parse_error_noargs("IPv6 address unparseable (too long)");
     memcpy(txt, z->tstart, len);
     txt[len] = 0;
     z->tstart = NULL;

Reply via email to