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

Version 2.2.3-2 of this package fixed a grave bug (#986215, a remote crash) in
this package for unstable with the smallest set of changes possible, by
applying an upstream PR targeting the specific issue. The fix was tested in
that version, and is now also in bullseye.

Version 2.2.3-1+deb10u1 is a rebuild of the same package targeted for buster.

I spoke with the security team and they did not feel a DSA was warranted, but
as it is a fairly serious issue with the client, I'm hoping this fix can be
included in a point release of buster.

-- 
Mike Markley <m...@markley.org>
diff -Nru scrollz-2.2.3/debian/changelog scrollz-2.2.3/debian/changelog
--- scrollz-2.2.3/debian/changelog      2014-11-05 17:37:01.000000000 -0700
+++ scrollz-2.2.3/debian/changelog      2021-06-06 10:16:54.000000000 -0600
@@ -1,3 +1,12 @@
+scrollz (2.2.3-1+deb10u1) buster; urgency=high
+
+  * Applied patch to ctcp.c to fix CVE-2021-29376 from
+    https://github.com/ScrollZ/ScrollZ/pull/26 (Closes: #986215)
+  * Applied minor patch from upstream to the above fix
+  * Rebuild for buster
+
+ -- Mike Markley <m...@markley.org>  Sun, 06 Jun 2021 10:16:54 -0600
+
 scrollz (2.2.3-1) unstable; urgency=low
 
   * New release.
diff -Nru scrollz-2.2.3/debian/patches/CVE-2021-29376.patch 
scrollz-2.2.3/debian/patches/CVE-2021-29376.patch
--- scrollz-2.2.3/debian/patches/CVE-2021-29376.patch   1969-12-31 
17:00:00.000000000 -0700
+++ scrollz-2.2.3/debian/patches/CVE-2021-29376.patch   2021-06-06 
10:12:06.000000000 -0600
@@ -0,0 +1,46 @@
+diff --git a/source/ctcp.c b/source/ctcp.c
+index b977f9b..32a496a 100644
+--- a/source/ctcp.c
++++ b/source/ctcp.c
+@@ -31,7 +31,7 @@
+  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+  * SUCH DAMAGE.
+  *
+- * $Id: ctcp.c,v 1.56 2009-12-21 14:39:21 f Exp $
++ * $Id: ctcp.c,v 1.56 2021-04-26 19:57:28 t Exp $
+  */
+ 
+ #include "irc.h"
+@@ -1629,14 +1629,29 @@ do_utc(ctcp, from, to, args)
+               *to,
+               *args;
+ {
+-      time_t  tm;
++      time_t  tm = time(NULL),
++              curtime = time(NULL);
+       char    *date = NULL;
+ 
+       if (!args || !*args)
+               return NULL;
+       tm = atol(args);
+-      malloc_strcpy(&date, ctime(&tm));
+-      date[strlen(date)-1] = '\0';
++      curtime = ctime(&tm);
++
++      if (curtime)
++      {
++              u_char *s = index(curtime, '\n');
++              if (s)
++              {
++                      *s = '\0';
++              }
++              malloc_strcpy(&date, UP(curtime));
++      }
++      else
++      {
++              /* if we can't find a time, just return the number */
++              malloc_strcpy(&date, args);
++      }
+       return date;
+ }
+ 
diff -Nru scrollz-2.2.3/debian/patches/CVE-2021-29376-update.patch 
scrollz-2.2.3/debian/patches/CVE-2021-29376-update.patch
--- scrollz-2.2.3/debian/patches/CVE-2021-29376-update.patch    1969-12-31 
17:00:00.000000000 -0700
+++ scrollz-2.2.3/debian/patches/CVE-2021-29376-update.patch    2021-06-06 
10:12:06.000000000 -0600
@@ -0,0 +1,13 @@
+diff --git a/source/ctcp.c b/source/ctcp.c
+index 32a496a..2b661bd 100644
+--- a/source/ctcp.c
++++ b/source/ctcp.c
+@@ -1630,7 +1630,7 @@ do_utc(ctcp, from, to, args)
+               *args;
+ {
+       time_t  tm = time(NULL),
+-              curtime = time(NULL);
++              curtime;
+       char    *date = NULL;
+ 
+       if (!args || !*args)
diff -Nru scrollz-2.2.3/debian/patches/series 
scrollz-2.2.3/debian/patches/series
--- scrollz-2.2.3/debian/patches/series 2014-10-22 16:08:28.000000000 -0600
+++ scrollz-2.2.3/debian/patches/series 2021-06-06 10:12:06.000000000 -0600
@@ -4,3 +4,5 @@
 spelling-errors.patch
 rijndael-prototypes.patch
 sys-stat-h.patch
+CVE-2021-29376.patch
+CVE-2021-29376-update.patch

Reply via email to