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

Bug#901639: marked as done (stretch-pu: package liblouis/3.0.0-3+deb9u4)



Your message dated Sat, 14 Jul 2018 11:21:20 +0100
with message-id <1531563680.2095.30.camel@adam-barratt.org.uk>
and subject line Closing bugs for updates included in 9.5
has caused the Debian Bug report #901639,
regarding stretch-pu: package liblouis/3.0.0-3+deb9u4
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.)


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

Hello,

Several new CVEs have been published.  Their upstream fixes have now
propagated to testing, I'm proposing to push them to stretch too, I have
uploaded the attached change (yes, I skipped version deb9u3 whose patch
was looking dubious due to mere upstream indentation changes).

Samuel

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-debug'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.17.0 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru liblouis-3.0.0/debian/changelog liblouis-3.0.0/debian/changelog
--- liblouis-3.0.0/debian/changelog	2018-05-25 10:46:29.000000000 +0200
+++ liblouis-3.0.0/debian/changelog	2018-06-16 00:27:09.000000000 +0200
@@ -1,3 +1,17 @@
+liblouis (3.0.0-3+deb9u4) stretch; urgency=medium
+
+  * patches/cve-2018-11440: Fix another buffer overflow for CVE 2018-11440
+    (Closes: #900085).
+  * patches/cve-2018-11577: Fix another segfault for CVE 2018-11577
+    (Closes: #900607).
+  * patches/cve-2018-11683: Fix a buffer overflow for CVE 2018-11683.
+  * patches/cve-2018-11684: Fix a buffer overflow for CVE 2018-11684.
+  * patches/cve-2018-11685: Fix a buffer overflow for CVE 2018-11685.
+  * patches/cve-2018-12085: Fix another buffer overflow for CVE 2018-12085
+    (Closes: Bug#901202).
+
+ -- Samuel Thibault <sthibault@debian.org>  Sat, 16 Jun 2018 00:27:09 +0200
+
 liblouis (3.0.0-3+deb9u2) stretch; urgency=medium
 
   * patches/cve-2018-11410: Buffer overflow fix for CVE 2018-11410
diff -Nru liblouis-3.0.0/debian/patches/cve-2018-11440 liblouis-3.0.0/debian/patches/cve-2018-11440
--- liblouis-3.0.0/debian/patches/cve-2018-11440	1970-01-01 01:00:00.000000000 +0100
+++ liblouis-3.0.0/debian/patches/cve-2018-11440	2018-06-16 00:22:41.000000000 +0200
@@ -0,0 +1,25 @@
+commit 4417bad83df4481ed58419b28c5c91b9649e2a86
+Author: Christian Egli <christian.egli@sbs.ch>
+Date:   Wed May 30 16:47:10 2018 +0200
+
+    Fix another buffer overflow in table parsing reported by Henri Salo
+    
+    Fixes #575 and CVE-2018-11440
+
+---
+ liblouis/compileTranslationTable.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/liblouis/compileTranslationTable.c
++++ b/liblouis/compileTranslationTable.c
+@@ -1523,6 +1523,10 @@ parseChars (FileInfo * nested, CharsStri
+ 	{
+ 	  if (in >= MAXSTRING)
+ 	    break;
++	  if (out >= MAXSTRING) {
++	    result->length = lastOutSize;
++	    return 1;
++	  }
+ 	  if (token->chars[in] < 128 || (token->chars[in] & 0x0040))
+ 	    {
+ 	      compileWarning (nested, "invalid UTF-8. Assuming Latin-1.");
diff -Nru liblouis-3.0.0/debian/patches/cve-2018-11577 liblouis-3.0.0/debian/patches/cve-2018-11577
--- liblouis-3.0.0/debian/patches/cve-2018-11577	1970-01-01 01:00:00.000000000 +0100
+++ liblouis-3.0.0/debian/patches/cve-2018-11577	2018-06-16 00:22:51.000000000 +0200
@@ -0,0 +1,54 @@
+commit 7e135b9313ad06218dfcf9ed63070edede7745a1
+Author: Christian Egli <christian.egli@sbs.ch>
+Date:   Thu May 31 12:08:56 2018 +0200
+
+    Fix yet another buffer overflow in the braille table parser
+    
+    Reported by Edward-L
+    
+    Fixes #582
+
+---
+ liblouis/compileTranslationTable.c |   16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+--- a/liblouis/compileTranslationTable.c
++++ b/liblouis/compileTranslationTable.c
+@@ -2843,6 +2843,10 @@ compilePassOpcode (FileInfo * nested, Tr
+       passLinepos = 0;
+       while (passLinepos <= endTest)
+ 	{
++	  if (passIC >= MAXSTRING) {
++	    compileError(passNested, "Test part in multipass operand too long");
++	    return 0;
++	  }
+ 	  switch ((passSubOp = passLine.chars[passLinepos]))
+ 	    {
+ 	    case pass_lookback:
+@@ -3038,6 +3042,10 @@ compilePassOpcode (FileInfo * nested, Tr
+       while (passLinepos < passLine.length &&
+ 	     passLine.chars[passLinepos] > 32)
+ 	{
++	  if (passIC >= MAXSTRING) {
++	    compileError(passNested, "Action part in multipass operand too long");
++	    return 0;
++	  }
+ 	  switch ((passSubOp = passLine.chars[passLinepos]))
+ 	    {
+ 	    case pass_string:
+@@ -3065,8 +3073,14 @@ compilePassOpcode (FileInfo * nested, Tr
+ 	      if (passHoldString.length == 0)
+ 		return 0;
+ 	      passInstructions[passIC++] = passHoldString.length;
+-	      for (kk = 0; kk < passHoldString.length; kk++)
++	      for (kk = 0; kk < passHoldString.length; kk++) {
++		if (passIC >= MAXSTRING) {
++		  compileError(passNested,
++		    "@ operand in action part of multipass operand too long");
++		  return 0;
++		}
+ 		passInstructions[passIC++] = passHoldString.chars[kk];
++	      }
+ 	      break;
+ 	    case pass_variable:
+ 	      passLinepos++;
diff -Nru liblouis-3.0.0/debian/patches/cve-2018-11683 liblouis-3.0.0/debian/patches/cve-2018-11683
--- liblouis-3.0.0/debian/patches/cve-2018-11683	1970-01-01 01:00:00.000000000 +0100
+++ liblouis-3.0.0/debian/patches/cve-2018-11683	2018-06-16 00:23:08.000000000 +0200
@@ -0,0 +1,73 @@
+commit e7eee2b7926668360a0d8e2abee6c35a00ebce3c
+Author: Christian Egli <christian.egli@sbs.ch>
+Date:   Mon Jun 4 12:02:13 2018 +0200
+
+    Fix yet another buffer overflow in the braille table parser
+    
+    Reported by Henri Salo
+    
+    Fixes #591
+
+---
+ liblouis/compileTranslationTable.c |    5 ++---
+ tools/lou_translate.c              |   12 +++++-------
+ 2 files changed, 7 insertions(+), 10 deletions(-)
+
+--- a/liblouis/compileTranslationTable.c
++++ b/liblouis/compileTranslationTable.c
+@@ -1536,14 +1536,14 @@ parseChars (FileInfo * nested, CharsStri
+ 	    }
+ 	  utf32 = (utf32 << 6) + (token->chars[in++] & 0x3f);
+ 	}
+-      if (CHARSIZE == 2 && utf32 > 0xffff)
+-	utf32 = 0xffff;
+-      result->chars[out++] = (widechar) utf32;
+       if (out >= MAXSTRING)
+ 	{
+ 	  result->length = lastOutSize;
+ 	  return 1;
+ 	}
++      if (CHARSIZE == 2 && utf32 > 0xffff)
++	utf32 = 0xffff;
++      result->chars[out++] = (widechar) utf32;
+     }
+   result->length = out;
+   return 1;
+--- a/tools/lou_translate.c
++++ b/tools/lou_translate.c
+@@ -33,8 +33,6 @@
+ #include "unistr.h"
+ #include "version-etc.h"
+ 
+-#define BUFSIZE MAXSTRING - 4
+-
+ static int forward_flag = 0;
+ static int backward_flag = 0;
+ 
+@@ -57,11 +55,11 @@ const char version_etc_copyright[] =
+ static void 
+ translate_input (int forward_translation, char *table_name)
+ {
+-  char charbuf[BUFSIZE];
++  char charbuf[MAXSTRING];
+   char *outputbuf;
+   size_t outlen;
+-  widechar inbuf[BUFSIZE];
+-  widechar transbuf[BUFSIZE];
++  widechar inbuf[MAXSTRING];
++  widechar transbuf[MAXSTRING];
+   int inlen;
+   int translen;
+   int k;
+@@ -69,9 +67,9 @@ translate_input (int forward_translation
+   int result;
+   while (1)
+     {
+-      translen = BUFSIZE;
++      translen = MAXSTRING;
+       k = 0;
+-      while ((ch = fgetc(input)) != '\n' && ch != EOF && k < BUFSIZE)
++      while ((ch = fgetc(input)) != '\n' && ch != EOF && k < MAXSTRING - 1)
+ 	charbuf[k++] = ch;
+       if (ch == EOF && k == 0)
+ 	break;
diff -Nru liblouis-3.0.0/debian/patches/cve-2018-11684 liblouis-3.0.0/debian/patches/cve-2018-11684
--- liblouis-3.0.0/debian/patches/cve-2018-11684	1970-01-01 01:00:00.000000000 +0100
+++ liblouis-3.0.0/debian/patches/cve-2018-11684	2018-06-16 00:23:21.000000000 +0200
@@ -0,0 +1,38 @@
+commit fb2bfce4ed49ac4656a8f7e5b5526e4838da1dde
+Author: Christian Egli <christian.egli@sbs.ch>
+Date:   Mon Jun 4 14:11:50 2018 +0200
+
+    Fix yet another buffer overflow in the braille table parser
+    
+    Reported by Henri Salo
+    
+    Fixes #592
+
+---
+ liblouis/compileTranslationTable.c |    7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/liblouis/compileTranslationTable.c
++++ b/liblouis/compileTranslationTable.c
+@@ -5216,6 +5216,10 @@ includeFile (FileInfo * nested, CharsStr
+   int rv;
+   for (k = 0; k < includedFile->length; k++)
+     includeThis[k] = (char) includedFile->chars[k];
++  if (k >= MAXSTRING) {
++    compileError(nested, "Include statement too long: 'include %s'", includeThis);
++    return 0;
++  }
+   includeThis[k] = 0;
+   tableFiles = resolveTable (includeThis, nested->fileName);
+   if (tableFiles == NULL)
+@@ -5225,9 +5229,8 @@ includeFile (FileInfo * nested, CharsStr
+     }
+   if (tableFiles[1] != NULL)
+     {
+-      errorCount++;
+       free_tablefiles(tableFiles);
+-      logMessage (LOG_ERROR, "Table list not supported in include statement: 'include %s'", includeThis);
++      compileError(nested, "Table list not supported in include statement: 'include %s'", includeThis);
+       return 0;
+     }
+   rv = compileFile (*tableFiles);
diff -Nru liblouis-3.0.0/debian/patches/cve-2018-11685 liblouis-3.0.0/debian/patches/cve-2018-11685
--- liblouis-3.0.0/debian/patches/cve-2018-11685	1970-01-01 01:00:00.000000000 +0100
+++ liblouis-3.0.0/debian/patches/cve-2018-11685	2018-06-16 00:23:25.000000000 +0200
@@ -0,0 +1,25 @@
+commit b5049cb17ae3d15b2b26890de0e24d0fecc080f5
+Author: Christian Egli <christian.egli@sbs.ch>
+Date:   Mon Jun 4 15:47:28 2018 +0200
+
+    Fix yet another buffer overflow in the braille table parser
+    
+    Reported by Henri Salo
+    
+    Fixes #593
+
+---
+ liblouis/compileTranslationTable.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/liblouis/compileTranslationTable.c
++++ b/liblouis/compileTranslationTable.c
+@@ -3582,7 +3582,7 @@ compileHyphenation (FileInfo * nested, C
+   HyphenationTrans *holdPointer;
+   HyphenHashTab *hashTab;
+   CharsString word;
+-  char pattern[MAXSTRING];
++  char pattern[MAXSTRING + 1];
+   unsigned int stateNum = 0, lastState = 0;
+   int i, j, k = encoding->length;
+   widechar ch;
diff -Nru liblouis-3.0.0/debian/patches/cve-2018-12085 liblouis-3.0.0/debian/patches/cve-2018-12085
--- liblouis-3.0.0/debian/patches/cve-2018-12085	1970-01-01 01:00:00.000000000 +0100
+++ liblouis-3.0.0/debian/patches/cve-2018-12085	2018-06-16 00:11:31.000000000 +0200
@@ -0,0 +1,28 @@
+commit dbfa58bb128cae86729578ac596056b3385817ef
+Author: Christian Egli <christian.egli@sbs.ch>
+Date:   Wed Jun 6 16:41:53 2018 +0200
+
+    Check index before writing to result->chars
+    
+    Fixes #595
+
+---
+ liblouis/compileTranslationTable.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/liblouis/compileTranslationTable.c
++++ b/liblouis/compileTranslationTable.c
+@@ -1505,12 +1505,12 @@ parseChars (FileInfo * nested, CharsStri
+ 		}
+ 	      in++;
+ 	    }
+-	  result->chars[out++] = (widechar) ch;
+ 	  if (out >= MAXSTRING)
+ 	    {
+ 	      result->length = out;
+ 	      return 1;
+ 	    }
++	  result->chars[out++] = (widechar) ch;
+ 	  continue;
+ 	}
+       lastOutSize = out;
diff -Nru liblouis-3.0.0/debian/patches/series liblouis-3.0.0/debian/patches/series
--- liblouis-3.0.0/debian/patches/series	2018-05-25 10:46:29.000000000 +0200
+++ liblouis-3.0.0/debian/patches/series	2018-06-16 00:07:07.000000000 +0200
@@ -4,3 +4,9 @@
 CVE-2017-13741.patch
 CVE-2017-13741-2.patch
 cve-2018-11410
+cve-2018-11440
+cve-2018-11577
+cve-2018-11683
+cve-2018-11684
+cve-2018-11685
+cve-2018-12085

--- End Message ---
--- Begin Message ---
Version: 9.5

Hi,

The update referenced by each of these bugs was included in this
morning's stretch point release.

Regards,

Adam

--- End Message ---

Reply to: